hamza shabbir
02/13/2023, 8:16 AMhamza shabbir
02/13/2023, 2:17 PMTim Edwards
02/13/2023, 2:22 PMmake run_analog
. If it's digital, then the usual reason for "Windbond SRAM not found" is that the board is pressed all the way down and the flexi-pins are colliding with the headers on the Nucleo board underneath.hamza shabbir
02/13/2023, 2:23 PMhamza shabbir
02/13/2023, 2:24 PMTim Edwards
02/13/2023, 2:31 PMef4016
).
Caravel data:
mfg = 0456
product = 11
project ID = 00000000
Resetting Flash...
status = 0x00
JEDEC = b'ef4016'
hamza shabbir
02/13/2023, 2:33 PMTim Edwards
02/13/2023, 2:34 PMhamza shabbir
02/13/2023, 2:47 PMhamza shabbir
02/13/2023, 2:56 PMTim Edwards
02/13/2023, 3:00 PMfailed to receive ready signal
indicates a problem with the Nucleo board and has nothing to do with the Caravel chip.
Also, it occurs to me that the modification to make the analog projects work was also done to the code for testing digital projects. That code bypasses the SDO from the housekeeping SPI, and so makes it impossible to read the manufacturer and product ID off of the caravel chip. So as long as you are seeing the correct JEDEC code (ef4016
), then the Caravel chip (or rather the SPI flash chip connected to it) is being programmed properly.hamza shabbir
02/13/2023, 3:02 PMTim Edwards
02/13/2023, 3:04 PMWinbond SRAM not found
is not working correctly, and could be a dead part.hamza shabbir
02/13/2023, 3:12 PMTim Edwards
02/14/2023, 2:47 AMTim Edwards
02/14/2023, 3:15 AMmake F746ZG
(I have st-flash
version 1.6.1), I get:
st-flash --connect-under-reset --format ihex write F746ZG_firmware.hex
st-flash 1.6.1
2023-02-13T21:53:43 WARN common.c: unknown chip id! 0x1a
Failed to connect to target
That does not seem to be specific to the latest version, though, as I can go back to earlier versions and it does the same thing.
@Matt Venn: There was some discussion about the Nucleo board firmware getting corrupted? Is that what is going on in any of these cases?Matt Venn
02/14/2023, 2:56 PMTim Edwards
02/14/2023, 2:57 PMst-flash
.Tim Edwards
02/14/2023, 2:58 PMhamza shabbir
02/16/2023, 11:24 AMhamza shabbir
02/16/2023, 12:12 PMTim Edwards
02/16/2023, 2:15 PM1100000000001
(management controlled output), and then toggle that output continuously and detect that toggling externally. If everything were working perfectly on the chip, then you would program that value into the register for the GPIO you wanted to test and initiate the transfer (through reg_mprj_xfer
). But for each independent hold violation, that series of bits shifts backwards by 1 bit into the neighboring channel's configuration. For each dependent hold violation, you have to replace any occurrence of 10
in the sequence with 11
(runs of 1
have to be lengthened by 1).Tim Edwards
02/16/2023, 2:16 PM