Commit 7e5e8817 authored by Raptor Engineering Development Team's avatar Raptor Engineering Development Team
Browse files

Fix markdown rendering in README

parent 7a06499d
......@@ -29,13 +29,11 @@ With that disclaimer out of the way...
1. Create directory to hold development sources and builds
mkdir kestrel-zephyr
cd kestrel-zephyr
2. Clone all repositories
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-firmware/zephyr-rtos
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-firmware/zephyr-firmware
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-firmware/mbedtls
......@@ -44,10 +42,10 @@ With that disclaimer out of the way...
3. Build soft floating point library from GCC toolchain sources
**NOTE**
**NOTE**
This is a bit of a hack. Unfortunately, our target platform is soft float, while most (all?) "real" OpenPOWER distros are hard float.
As a result, we need to compile a copy of the soft float static library for our target.
This is a bit of a hack. Unfortunately, our target platform is soft float, while most (all?) "real" OpenPOWER distros are hard float.
As a result, we need to compile a copy of the soft float static library for our target.
cd gcc/libgcc/soft-fp/
gcc -c -O2 -msoft-float -mno-string -mno-multiple -mno-vsx -mno-altivec -mlittle-endian -mstrict-align -fno-stack-protector -m64 -mabi=elfv2 -mcmodel=small -I../config/rs6000/ -I../../include -I.. *.c
......@@ -58,7 +56,6 @@ As a result, we need to compile a copy of the soft float static library for our
4. Build Zephyr application
export SOURCE_ROOT_DIR=$(pwd)
cd zephyr
mkdir build
......@@ -66,40 +63,37 @@ As a result, we need to compile a copy of the soft float static library for our
cp -Rp ../libsoft-fp.a zephyr/
make -j144
Output is in zephyr/zephyr.bin
Output is in zephyr/zephyr.bin
# How to use
1. Soft-load application onto FPGA
python3 litex/tools/litex_term.py --speed 115200 /dev/ttyUSB1 --kernel zephyr/build/zephyr/zephyr.bin
<using a second terminal, program the FPGA with openocd>
openocd --log_output openocd.log 3 -f "/usr/share/trellis/misc/openocd/ecp5-versa.cfg" -c "transport select jtag; init; svf build/versa_ecp5/gateware/versa_ecp5.svf; exit"
2. Flash Kestrel onto the FPGA board (optional)
Programming Kestrel onto the FPGA will provide a very rapid (under 10 seconds) startup from cold / no power applied to online and ready to IPL the host. It requires three separate programming files, and Kestrel to be connected to the network and online via the openocd soft load process. The files required are:
Programming Kestrel onto the FPGA will provide a very rapid (under 10 seconds) startup from cold / no power applied to online and ready to IPL the host. It requires three separate programming files, and Kestrel to be connected to the network and online via the openocd soft load process. The files required are:
versa_ecp5.bit
zephyr.bin
pnor.img
First, determine the IP address of the Kestrel system. You can use the Zephyr shell (`exit` from the Kestrel shell, then `net iface`) to determine the IP address granted to the Kestrel system by the DHCP server.
First, determine the IP address of the Kestrel system. You can use the Zephyr shell (`exit` from the Kestrel shell, then `net iface`) to determine the IP address granted to the Kestrel system by the DHCP server.
Once the IP address is known, use a Web browser to naviate to http://<BMC IP>:8080 Click the Firmware link, then select the `versa_ecp5.bit` file and upload. After the upload has finished, run `kestrel reflash fpga` on the terminal.
Once the IP address is known, use a Web browser to naviate to http://<BMC IP>:8080 Click the Firmware link, then select the `versa_ecp5.bit` file and upload. After the upload has finished, run `kestrel reflash fpga` on the terminal.
Next, navigate to the Firmware link again, and upload the `zephyr.bin` file. After the upload has finished, run `kestrel reflash bmc` on the terminal.
Next, navigate to the Firmware link again, and upload the `zephyr.bin` file. After the upload has finished, run `kestrel reflash bmc` on the terminal.
At this point, Kestrel itself is now installed and will survive a power cycle of the FPGA board. In and of itself it is not very useful until the host firmware is uploaded, however.
At this point, Kestrel itself is now installed and will survive a power cycle of the FPGA board. In and of itself it is not very useful until the host firmware is uploaded, however.
Uploading the host firmware will take a long time, as the PNOR is 64MB for Raptor Computing Systems devices. After starting the upload grab a cup of coffee, then once the upload is finished run `kestrel reflash pnor`
Uploading the host firmware will take a long time, as the PNOR is 64MB for Raptor Computing Systems devices. After starting the upload grab a cup of coffee, then once the upload is finished run `kestrel reflash pnor`
3. Control the host
Most commands to interact with the host are contained within the `kestrel` subcommand. Important commands include:
Most commands to interact with the host are contained within the `kestrel` subcommand. Important commands include:
obmcutil poweron
obmcutil chassisoff
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment