<mescobar>
somlo yeah I would like the compiled app to be loaded over serial
<mescobar>
I'm assuming that including object file within the file system is the only way to go
<mescobar>
I don't think gcc is included with the linux kernel, right?
jaseg has quit [Ping timeout: 264 seconds]
jaseg has joined #litex
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #litex
CarlFK has joined #litex
mescobar has quit [Remote host closed the connection]
<keesj>
wow.. it won't take long before the rootfs will be mounted over NFS
_whitelogger has joined #litex
<daveshah>
I did actually have an NFS rootfs working with litex linux
<daveshah>
Was very useful for userspace debugging, although liteeth is pretty slow
<daveshah>
In any case the place to put new userspace programs is in buildroot, which is where rootfs.cpio comes from
CarlFK has quit [Read error: Connection reset by peer]
<keesj>
I done such setup many times but every time it is a bit of work (again) also (when having a u-boot bootloader) Downloading linux/rootfs over tftp can also be nice
CarlFK has joined #litex
_whitelogger has joined #litex
_whitelogger has joined #litex
<somlo>
mescobar: ok, so there are a number of steps on the path between CSRs and linux userspace (i.e. stuff running from a linux rootfs)
<somlo>
first, you probably want to build a full litex SoC including the bios (bare-metal software included in the bitstream that runs as soon as the soft CPU "wakes up")
<somlo>
a description of the CSRs MMIO addresses is typically generated under "build/<boardname>/software/include/generated/csr.h"
<somlo>
and used to compile the bios binary, which is then added as "rom" to the gateware/bitstream
<somlo>
mescobar: this stuff runs when you program the bitstream to your board, and it's smart enough to load a bunch of other things via either tftp or from an sdcard
<somlo>
that's where you want things like a DTB blob, linux kernel, initrd, etc.
<somlo>
you use the DT blob to tell e.g. linux what CSRs live at what addresses (more or less mirroring the generated csr.h)
<somlo>
and it's linux (or whatever kernel) that's expected to have drivers for the hardware, and tickle the CSRs, not so much userspace code