Part Number: TMS320F280038C-Q1
Other Parts Discussed in Thread: C2000WARE
Tool/software:
Just trying to get a program that has been working with the debugger in Flash to boot to flash when the product is running without the debugger.
I am using EABI calls and ELF linker output format.
I have dragged most of the startup code into my project and using the FLASH cmd file for the processor
The start vector that gets loaded into BEGIN in a start program called boot28.asm. I had to add ".retain" to it and make some other changes but now it loads the address of the start code into 0x80000 (BEGIN).
I notice in some documentation though it says that this should be a branch instruction. In some it says just the start address.
Anyway if I power up, my code does not work and if I connect the debugger at this point the processor is executing in the Boot Rom and eventually hits an ESTOP0 command.
Q1 - should the 'data' at BEGIN be a vector or a branch instruction?
Q2 - if the boot fails and falls out to the bootloader is there a way to determine the cause?
Further info
- Using CCS 12.8
- BOOT0 and BOOT1 are high at reset
- Programs run OK from flash under the debugger
- I have not (knowingly) changed OTP memory
- If I use memory viewer I can see a valid start address stored at 0x80000.
- I have not done anything with WDT.