_florent_ changed the topic of #litex to: LiteX FPGA SoC builder and Cores / Github : https://github.com/enjoy-digital, https://github.com/litex-hub / Logs: https://freenode.irclog.whitequark.org/litex
tpb has quit [Remote host closed the connection]
tpb has joined #litex
_whitelogger has joined #litex
proteusguy has quit [Ping timeout: 256 seconds]
proteusguy has joined #litex
mescobar has joined #litex
<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
<somlo> check out https://github.com/litex-hub/linux/tree/litex-rocket-rebase for a few examples of linux device drivers interacting with LiteX CSRs
<tpb> Title: GitHub - litex-hub/linux at litex-rocket-rebase (at github.com)
awe00 has joined #litex
awe00 has quit [Read error: Connection reset by peer]
_whitelogger has joined #litex
awe00 has joined #litex
awe00 has quit [Ping timeout: 260 seconds]
awe00 has joined #litex
nrossi has left #litex ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
awe001 has joined #litex
awe00 has quit [Ping timeout: 258 seconds]
awe002 has joined #litex
awe001 has quit [Ping timeout: 264 seconds]
SpaceCoaster has quit [Ping timeout: 272 seconds]
SpaceCoaster has joined #litex
jaseg has quit [Ping timeout: 272 seconds]
jaseg has joined #litex
peeps is now known as peepsalot
jaseg has quit [Ping timeout: 260 seconds]
awe002 has quit [Ping timeout: 260 seconds]
lf_ has quit [Ping timeout: 260 seconds]
lf has joined #litex
awe002 has joined #litex
awe002 has quit [Client Quit]
jaseg has joined #litex