Welcome to the C2000™ Microcontrollers Section of the TI E2E Support Community. Ask questions, share knowledge, explore ideas, and help solve problems with fellow engineers. To post a question, click on the forum tab then "New Post".
Question:
I need need to know the full time required before code execution begins on power-on reset.
The Data Manual defines the time as: tOSCST + tW(RSL1) + td(EX) + th(boot-mode) + unknown(based on Boot Code) This is shown in the diagram below from Figure 6-8.
Based on his OSCCLK, the known part of that adds up to about 12 ms.
The unknown value (let's call tX) is dependent on what is in the Boot Code. I need tX to be less than 8 ms so that the user code is controlling the IO pins after a total of 20 ms.
Are there typical values for the boot code run time, or minimum/maximum values?
Answer:
th(boot-mode) is the time it takes from boot ROM code execution start to when boot mode pins are sampled.
The "peripheral/GPIO function" is the time for the actual boot. This time would change based on whether a boot load is performed or a simple "jump to flash". In the case of the "jump to flash" this time is fairly short. In the case of a peripheral loader it depends on how much data is loaded.
The c-initialization code before main() would be of more concern. It is the code put in by the compiler like c_init(). The application must get through this code before it starts executing main(). The time this takes will change depending on the code itself, how many variables are initialized, when the PLL is enabled, etc...
The safer route is to use the profile clock in CCS to run through the boot ROM to the main() and measure how many cycles.