I am using a CAN BSL solution to flash a Tc387, and from the memory contents it seems to be going well. All data from the program is being placed in the appropriate addresses of both program flash and UCB data flash. The program I am flashing simply flashes the LEDs on a Triboard, and the hex file is attached in "SimpleTestProgram.zip".
When flashing this program using my CAN BSL solution, the processor gets stuck upon resetting. The Rst LED (ESR0) remains on and the flashed code never executes. However, after connecting a debugger the code can be executed without fault until the next reset when the same problem occurs.
When flashing this hex file entirely over the debugger, it can then run without issues after a reset. Comparing the flash banks after this, I can see that the program flash sections and UCB df0 sections are identical for both of these flashing methods. Yet only one is able to reset and the other halts.
Given that this same program works when flashed one way, I do not think this is a watchdog issue. As a side note, both watchdogs are disabled in the test program that is being flashed.
All of the BMHDs (original and copies) are being flashed with the same content. This is:
One thing I have noticed is that HARREQ of SCU_STMEM is 1 (halt after reset):
But I am struggling to figure out how to remedy that issue.
So I am looking for ideas on how to solve this problem. Is there any configuration that is outside of UCBs or program flash that could cause this issue? If not, is there something else I am missing?