Kylee Michelle Krzanich
02/11/2022, 7:01 PMTim Edwards
02/11/2022, 10:36 PMTim Edwards
02/11/2022, 10:41 PMfirmware/util/caravel_hkflash.py
, which will flash a hex file to the SPI flash chip using pass-through mode. The basics of pass-through mode is pretty simple: Just send the command byte 0xc4
to Caravel's housekeeping SPI, and then all data after that is communicating directly with the SPI flash until you raise CSB. Every command done that way has to be prefixed with the 0xc4
command.Tim Edwards
02/11/2022, 10:48 PMslippage.py
that I posted in my conversation above with Weston. I plug in the hex values I want the GPIOs to be set to, and the script gives me back the values I need to set the registers to, to get that result. For management-controlled modes, the SoC checks the local value of the configuration, so I have to rewrite all the configuration values after I do the transfer. For user-controlled modes, that's not necessary. Also, due to the bit slipping, there are some limitations on what modes neighboring GPIOs can be set to; again, the user controlled modes don't have those limitations.Tim Edwards
02/11/2022, 10:51 PMcaravel_board
repository also has a few (less complicated) examples under the firmware/
directory. I just created a new directory called benchtest
, copied the Makefile from the blink
directory, and changed "blink" to "benchtest" as needed.