It appears the timing is very tight on the init sequence. If I code all the SPI transfers one immediately after the other, I can get the download to succeed (INTERNAL_STATUS reports init_ok). If I put the SPI transfers into a generic transfer function, introducing function call over head between each step, the download fails, and INTERNAL_ERROR reports "long processing time, processing halted". The problem I'm having now is that if I'm running in the debugger, I can get the sequence to succeed one time. If I restart the firmware in the debugger, the result reported in INTERNAL_STATUS is always not_init (0). The download sequence seems to only work after a power cycle, even though a soft reset is included before starting the sequence.
... View more