[RFC v4 10/10] Documentation: add RISC-V docs

Antony Pavlov antonynpavlov at gmail.com
Sat Sep 30 05:34:30 PDT 2017


On Fri, 29 Sep 2017 14:35:37 +0200
Oleksij Rempel <linux at rempel-privat.de> wrote:

> Am 29.09.2017 um 01:12 schrieb Antony Pavlov:
> > Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
> > ---
> >  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=<path to your riscv toolchain>/riscv32-unknown-elf-
> > +
> > +Run barebox::
> > +
> > +  $ <path to riscv-qemu source>/riscv32-softmmu/qemu-system-riscv32 \
> > +      -nographic -M erizo -bios <path to barebox sources >/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 at 00: unrecognized JEDEC id bytes: 00,  0,  0
> > +  m25p80 m25p128 at 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 at 00: unrecognized JEDEC id bytes: 00,  0,  0
> > +  m25p80 m25p128 at 00: probe failed: error 2
> 
> hmmm... not working example?


At the moment I run risc-v barebox on several FPGA boards.
SPI flash chip is absent on some boards.
This log was produced by SPI-flash-chip-less board.

Also SPI flash chip emulation is absent for Erizo qemu board.


> > +  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
> 


-- 
Best regards,
  Antony Pavlov



More information about the barebox mailing list