Other Parts Discussed in Thread: CONTROLSUITE
Tool/software: Code Composer Studio
Everyone
I recently found out (experimentally) that if the cinit does not load properly, then the TMS320F28069 will go into low power mode. Here's how found this out:
I'm currently testing my custom bootloader which is entirely contained in sector A. If the application code does not need to be updated, then the application code gets executed (which is in sectors B to H). My c_init00() function, which initializes cinit, is located in sector A. All the cinit variables that are associated with the bootloader are in sector A. However, for the application code, I set aside a range of address in sector H that can be used for cinits that are needed for the application code. I did this using the linker command file.
The order in which the C2000 Hex Utility will arrange the data in the hex file is based on the arrangement of the linker command file. Meaning, if I put the cinits in the beginning of the SECTIONS part of the linker command file, then that's what will be put first in the hex file.
When force a communication break during the bootload process, it will go into low power mode but only if the communication break happens early in the bootloading process. If it occurs at any other time, then it won't go into low power mode.
My question is this: is there a setting or command to tell the MCU not to go into low power mode if cinit fails to initialize? Instead, is there a way to get it into some other failure mode? I ask because if it goes into low power mode, then it won't boot to flash. Instead, I have to force it to a separate boot mode before I'm able to use the bootloader again (which isn't feasible for a field release).
Thank you.