Am 29.09.2017 um 01:12 schrieb Antony Pavlov: > Signed-off-by: Antony Pavlov > --- > Documentation/boards/riscv.rst | 110 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 110 insertions(+) > > diff --git a/Documentation/boards/riscv.rst b/Documentation/boards/riscv.rst > new file mode 100644 > index 000000000..912f16786 > --- /dev/null > +++ b/Documentation/boards/riscv.rst > @@ -0,0 +1,110 @@ > +RISC-V > +====== > + > +At the moment only qemu emulator is supported (see https://github.com/riscv/riscv-isa-sim > +for details). > + > +Running RISC-V barebox on qemu > +------------------------------ > + > +Obtain RISC-V GCC/Newlib Toolchain, > +see https://github.com/riscv/riscv-tools/blob/master/README.md > +for details. The ``build.sh`` script from ``riscv-tools`` should > +create toolchain. > + > +Next compile qemu emulator:: > + > + $ git clone -b 20170824.erizo https://github.com/miet-riscv-workgroup/riscv-qemu > + $ cd riscv-qemu > + $ cap="no" ./configure \ > + --extra-cflags="-Wno-maybe-uninitialized" \ > + --audio-drv-list="" \ > + --disable-attr \ > + --disable-blobs \ > + --disable-bluez \ > + --disable-brlapi \ > + --disable-curl \ > + --disable-curses \ > + --disable-docs \ > + --disable-kvm \ > + --disable-spice \ > + --disable-sdl \ > + --disable-vde \ > + --disable-vnc-sasl \ > + --disable-werror \ > + --enable-trace-backend=simple \ > + --disable-stack-protector \ > + --target-list=riscv32-softmmu,riscv64-softmmu > + $ make > + > + > +Next compile barebox:: > + > + $ make erizo_generic_defconfig ARCH=riscv > + ... > + $ make ARCH=riscv CROSS_COMPILE=/riscv32-unknown-elf- > + > +Run barebox:: > + > + $ /riscv32-softmmu/qemu-system-riscv32 \ > + -nographic -M erizo -bios /barebox.bin \ > + -serial stdio -monitor none -trace file=/dev/null > + > + nmon> q > + > + copy loop done > + restarting... > + > + nmon> q > + Switch to console [cs0] > + > + > + barebox 2017.08.0-00102-g212af75153 #1 Mon Sep 4 20:54:31 MSK 2017 > + > + > + Board: generic Erizo SoC board > + m25p80 m25p128@00: unrecognized JEDEC id bytes: 00, 0, 0 > + m25p80 m25p128@00: probe failed: error 2 > + malloc space: 0x80100000 -> 0x801fffff (size 1 MiB) > + running /env/bin/init... > + /env/bin/init not found > + barebox:/ > + > + > +Running RISC-V barebox on DE0-Nano FPGA board > +--------------------------------------------- > + > +See https://github.com/open-design/riscv-soc-cores/ for instructions > +on DE0-Nano bitstream generation and loading. > + > +Connect to board's UART with your favorite serial communication software > +(e.g. minicom) and check 'nmon> ' prompt (nmon runs from onchip ROM). > + > +Next close your communication software and use ./scripts/nmon-loader > +to load barebox image into board's DRAM, e.g. > + > + # ./scripts/nmon-loader barebox.erizo.nmon /dev/ttyUSB1 115200 > + > +Wait several munutes for 'nmon> ' prompt. > + > +Next, start barebox from DRAM: > + > + nmon> g 80000000 > + > +You should see one more 'nmon> ' prompt (this nmon runs from DRAM). > +Exit nmon with 'q' command: > + > + nmon> q > + Switch to console [cs0] > + > + > + barebox 2017.08.0-00102-g212af75153 #1 Mon Sep 4 20:54:31 MSK 2017 > + > + > + Board: generic Erizo SoC board > + m25p80 m25p128@00: unrecognized JEDEC id bytes: 00, 0, 0 > + m25p80 m25p128@00: probe failed: error 2 hmmm... not working example? > + malloc space: 0x80100000 -> 0x801fffff (size 1 MiB) > + running /env/bin/init... > + /env/bin/init not found > + barebox:/ some parts are missing in defconfig. Barebox shell can display hostname and so on ;) -- Regards, Oleksij