# FSBL FSBL code is at https://github.com/Xilinx/embeddedsw/ there: ```sh cd lib/sw_apps/zynq_fsbl/src/ && make BOARD=zed CFLAGS=-DFSBL_DEBUG_INFO ``` # Building Requirements [TBC]: - cmake - arm-none-eabi-gcc ```sh cmake -DFSFW_OSAL=freertos -DFSFW_ADD_HAL=OFF -DCMAKE_TOOLCHAIN_FILE=../bsp_z7/cmake/arm-none-eabi.toolchain .. ``` # Debugging on zedboard Requirements [TBC]: - OpenOCD - arm-none-eabi-gdb Connect to zedboard jtag and uart usb port. On PC connected to zedboard jtag usb port: ```sh openocd -f board/digilent_zedboard.cfg ``` If you have one around, load bitstream at startup (go get a coffee, takes time with onboard JTAG, blue LED lights up when done): ```sh openocd -f board/digilent_zedboard.cfg -c "init" -c "pld load 0 system.bit" ``` To use JTAG Boot for the obsw, you first need to run the FSBL once. On build PC (adapt IP if different from debugging PC): ```sh arm-none-eabi-gdb fsbl.elf >target extended-remote localhost:3333 >load >cont >^C^D^D ``` Then load the actual obsw: ```sh arm-none-eabi-gdb freeRTOS >target extended-remote localhost:3333 >load >cont ``` Short form, less interactive: ``` arm-none-eabi-gdb fsbl.elf -ex "target extended-remote localhost:3333" -ex "set pagination off" -ex "load" -ex "continue" >^C^D^D arm-none-eabi-gdb freeRTOS -ex "target extended-remote localhost:3333" -ex "set pagination off" -ex "load" -ex "continue" ``` Uart usb port should output something at 115200baud, (I use moserial to monitor).