Tim Edwards07/25/2023, 12:33 PM
Gabriel Gallardo07/25/2023, 2:14 PM
We can monitor the MEM SPI bus on a logic analyser and see that there are memory read requests, and the program being read is quite similar to the one we flashed. On the USB SPI bus, we see that the USB_SI line is always high, which is interpreted as 0xff. We tried running the flashing program with the reset button held down with no effect. We tried measuring the voltages. 3V3 is as expected. 1v8 reads 1.59V, and the voltage regulator on the evaluation board is a 1V6 one. Is that expected? Would that have an effect on things? Another observation: when we plug in the evaluation board to power, we see that the GPIO line is almost always high. It is pulled low for nanoseconds at a time sporadically. The LED is always on. Activity on the memory bus comes in bursts, and it is only during these bursts that the GPIO line is goes low. The memory it asks for are at
❯ make flash python3 ../util/caravel_hkflash.py blink.hex Success: Found one matching FTDI device at <ftdi://ftdi:232>h:14:c/1 Caravel data: mfg = ffff product = ff project ID = ffffffff make: *** [flash] Error 2
After about 0.8s, we see a change in behaviour. There is constant activity on the memory bus and the GPIO line oscillates between 1 and 0 with frequency 598 Hz and the LED is always on. The memory locations being streamed are from 0x2a0, then [0x860, 0x220, 0x880, 0x220, 0x8a0] repeatedly. Could you give us some pointers as to where something might be wrong? Or some next steps in debugging? We attach also the
0x000000 0x0000a0 0x000900 0x0000e0 0x000904 0x000100 0x000740 0x0003c0 0x000340 0x0003a0 0x000360 0x000220 # delay 0x0002a0 0x000360 0x000220 # delay subr: 0x0002a0 0x000380 0x000360 0x000220 # delay 0x0002a0 0x0002a0 0x000360 0x000220 # jmp: subr
that we are using. Thanks for your help.
Tim Edwards07/25/2023, 2:21 PM
Gabriel Gallardo07/25/2023, 3:19 PM
Tim Edwards07/25/2023, 6:37 PM
starts with a GPIO programming stage which takes rather long because it is bit-banging the whole serial programming chain. That's followed by a message output at the leisurely rate of 9600 baud until it settles into the blink mode. But the blink mode is supposed to be several Hz, not several hundred Hz. At several hundred Hz you get an LED that blinks faster than your eye can track, so you just see that the LED is on. FYI: After testing a number of chips, we decided that the best yield of working parts occurred at an internal digital power supply voltage of about 1.6V, so we dropped the LDO output on the boards slightly, which is why you don't see 1.8V.
Gabriel Gallardo07/26/2023, 2:17 PM
Gabriel Gallardo07/26/2023, 2:18 PM
Tim Edwards07/26/2023, 2:29 PM
Gabriel Gallardo08/17/2023, 10:26 AM
). Do I understand correctly that pins 1-4 are used for the HKSPI? What would happen if I tried to configure them for our output? and how could I go about doing that?