Firmwares

The Bonobo bitstream and firmware are provided as binary only. In case you reprogrammed your cable with custom binaries or by mistake, you can put back the original firmwares with the following instructions.

The cables shipped to you are already programmed at the factory.

In the future we may also provide firmware upgrades.

The microcontroller firmware is common to all cables, but each FPGA bitstream (top.bin) is unique, you will need your Bonobo serial number to get the right bitstream for your cable.

Serial number

The 8-digits hexadecimal serial number is printed on the cable label:

_images/bonobo_serial.png

If you lost it, please contact us

Flashing scripts

Get the flashing scripts from the bonobo-helpers repository:

git clone https://github.com/lambdaconcept/bonobo-helpers.git
cd bonobo-helpers
cd firmwares

Download binaries

Download the binaries for your cable. (Replace <serial> with your own number):

$ make fetch_<serial>

$ ls *.bin
nuttx-ocd.bin  top.bin

Bitstream (FPGA)

Program the FPGA:

$ make flash_fpga

openocd -f openocd-fpga.cfg
Open On-Chip Debugger 0.10.0+dev-00921-g263deb380-dirty (2019-07-17-16:39)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Info : clock speed 1000 kHz
Info : JTAG tap: xc6s.tap tap/device found: 0x44002093 (mfg: 0x049 (Xilinx), part: 0x4002, ver: 0x4)
Info : JTAG tap: xc6s.tap tap/device found: 0x44002093 (mfg: 0x049 (Xilinx), part: 0x4002, ver: 0x4)
Info : Found flash device 'win w25q80bv' (ID 0x001440ef)
Info : Found flash device 'win w25q80bv' (ID 0x001440ef)
Info : Found flash device 'win w25q80bv' (ID 0x001440ef)
Info : Found flash device 'win w25q80bv' (ID 0x001440ef)
Info : sector 0 took 87 ms
Info : sector 1 took 85 ms
Info : sector 2 took 86 ms
Info : sector 3 took 85 ms
Info : sector 4 took 85 ms
Info : sector 5 took 85 ms
Info : sector 6 took 85 ms
Info : sector 7 took 86 ms
Info : Found flash device 'win w25q80bv' (ID 0x001440ef)

Verify:

Unplug and replug the cable. The LED should be green. If not, or if it is red, make sure your are using the right bitstream for your cable serial number and repeat the operation.

Firmware (uC)

Program the Microcontroller (uC)

$ make flash_uc

openocd -f openocd-stm-ocd.cfg
Open On-Chip Debugger 0.10.0+dev-00921-g263deb380-dirty (2019-07-17-16:39)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
Info : clock speed 2000 kHz
Info : JTAG tap: stm32f7x.cpu tap/device found: 0x5ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x5)
Info : JTAG tap: stm32f7x.bs tap/device found: 0x06452041 (mfg: 0x020 (STMicroelectronics), part: 0x6452, ver: 0x0)
Info : stm32f7x.cpu: hardware has 8 breakpoints, 4 watchpoints
Info : stm32f7x.cpu: external reset detected
Info : Listening on port 3333 for gdb connections
Info : JTAG tap: stm32f7x.cpu tap/device found: 0x5ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x5)
Info : JTAG tap: stm32f7x.bs tap/device found: 0x06452041 (mfg: 0x020 (STMicroelectronics), part: 0x6452, ver: 0x0)
Error: JTAG-DP STICKY ERROR
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080002e0 msp: 0x20022cb4
Info : device id = 0x10006452
Info : flash size = 512 kbytes
Info : DAP transaction stalled (WAIT) - slowing down
Info : DAP transaction stalled (WAIT) - slowing down
[...]
Info : DAP transaction stalled (WAIT) - slowing down
Info : DAP transaction stalled (WAIT) - slowing down
Info : JTAG tap: stm32f7x.cpu tap/device found: 0x5ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x5)
Info : JTAG tap: stm32f7x.bs tap/device found: 0x06452041 (mfg: 0x020 (STMicroelectronics), part: 0x6452, ver: 0x0)
Error: JTAG-DP STICKY ERROR

Unplug and replug the cable to load the new firmware. Verify by running OpenOCD as explained in Getting Started.

Note

Having “Error: JTAG-DP STICKY ERROR” is not a problem.