EOS-S3 Thing+ Notes 5/31/2023
This post is part of a series of notes I originally recorded on a GitLab wiki for our QuitetThing project with can be found here:
https://gitlab.com/mccormjf/quietthing/-/wikis/home
Used Raspberry Pi Pico to load the FPGA on the Thing+
Appendix A of this document shows how to setup a Picoprobe.
https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf
I used some of this link to help install the needed software
https://kresna.dev/getting-picoprobe-openocd-gdb-to-work-with-rust-on-mac-m1/
I used an SWD Breakout board from Adafruit to connect the Pico to the Thing+. I connected Pin 4 on the Pico to CLK on the breakout and Pin 5 on the Pico to SWIO on the breakout. I then connected the grounds on the breakout to a ground on the Pico and Vref on the breakout to pin 36 (3.3V) on the Pico.
If you are using a Raspberry Pi, Adafruit has a nice tutorial on how to setup it up with OpenOCD.
This is the command I used to load code through the Pico using OpenOCD.
sudo ./openocd -f /home/avery/openocd-pico/tcl/interface/cmsis-dap.cfg -c "adapter speed 5000" -f /home/avery/openocd-pico/tcl/target/eos_s3.cfg -d -f /home/avery/F4PGA/builds/top.openocd
In a second terminal open gdb and type:
target extended remote localhost:3333
Then type monitor load_bitstream and it will load the file to the Thing+
We were able to successfully load an image onto the fpga. We had to update the Quicklogic fork of TinyFPGA programmer to the current master and rebuilt and load the bootloader. This update also allows you to load just the fpga separately from the microcontroller. This is a different version that is originally on the board and also different than the submodule version in qorc sdk repo.
The steps on how to rebuild and load the bootloader are listed here, you just need to do the setup section: https://github.com/QuickLogic-Corp/qorc-testapps/tree/master/qf_helloworldsw_separate
Once we update those, we were able to use OpenOCD to load the image to the FPGA.
Comments
Post a Comment