Commit Graph

1 Commits (4e3cf62f5bdc481eeb31b7e1556442291925f3ae)

Author SHA1 Message Date
Joel Stanley 4e3cf62f5b Add Linux loader
This privdes just enough firmware to load Linux. The loader is linked to
run from the aliased BRAM address. This means you should configure your
SoC with BRAM (ie, don't pass --no_bram).

It can load a raw kernel (vmlinux.bin) or a wrapper that embeds the
device tree (dtbImage.microwatt).

The printf comes from https://github.com/mpredfearn/simple-printf

 1. Build Linux for microwatt
  objcopy -O binary microwatt/vmlinux vmlinux.bin

 2. Build a dtb

 3. Set MW_DEBUG to point to a copy of mw_debug and type `make load` to
    load the loader into BRAM.

 4. Press 'RESET'

 5. Follow the instructions:

	Microwatt Loader (Jun 22 2020 16:44:59

	Load binaries into SDRAM and select option to start:

	vmlinux.bin and dtb:
	 mw_debug -b jtag stop load vmlinux.bin load microwatt.dtb 0x1000000 start
	 press 'l' to start'

	dtbImage.microwatt:
	 mw_debug -b jtag stop load dtbImage.microwatt 0x500000 start
	 press 'w' to start'

	Flash:
	 To boot a binary from flash, write it to 0000000000300000
	 press 'f' to start'

If you want to test other software, such as MicroPython, you can also
load it to the start of SDRAM and the loader will jump to it with 'l'.

Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years ago