Other Parts Discussed in Thread: RM46L852, , HALCOGEN
Hi,
I am trying to do a custom CAN bootstrap. It is based on the hercules can download sample source for the r48 processor. I am using CCSv6 with optimization turned off.
I got the can stuff working (with the flash erasing/writing commented out).
Now I am trying to actually flash, which is the reason for the bootloader to exist.
The problem is when I run the HERCULES program it hangs and when I pause it, the PC is in the asm vector tables. The fault instruction address is 0x10, so no help pinpointing the failure. Putting a breakpoint on the vector does not give any better indication of the failure.
The weird thing is if I do a system reset and single step into the f021 library, the trap does not happen and the flash does get erased and later written. And yes I single step into the ram code in my case at 0x0800_a588... Stepping takes a very long time and lots of cycles, but I have single stepped through writing 3 16 byte blocks into flash at 0x20000+. At any time in this process if I tell ccsv6 to "go" the processor ends up hung in the vectors. So either ccsv6 on jtag alters enough processor state to "fix" the abort problem, or there is a speed problem in the r46 configuration.
Any ideas?
Is it possible to get the source for the library so I can try putting in some test delays etc?
Thanks, Steve