Part Number: TMS320F280049
Other Parts Discussed in Thread: C2000WARE
Tool/software:
Hello,
I have a question related to the codestart section. Specifically, I am looking at the example code flashapi_ex2_sci_kernel under C:\ti\c2000\C2000Ware_5_00_00_00\driverlib\f28004x\examples\flash, but more generally I am interested in how the code execution flows after device startup and after exiting the Boot ROM.
The comments in file "flashapi_ex2_codestartbranch.asm" state that "code_start is the first code that is executed after exiting the boot ROM code."
However, upon inspecting the linker flag set (Properties --> C2000 linker --> Summary of flags set), I see the flag "--entry_point=_bankSelect".
This is consistent with the
#pragma CODE_SECTION(bankSelect, "codestart");
code in the file flashapi_ex2_ldfu.c file.
So then if the entry_point is not code_start, but bankSelect, then when is code_start called, and when is the C runtime environment (_c_int00) initialized?
If the codestart section is defined in multiple places (both in flashapi_ex2_ldfu.c and also in flashapi_ex2_codestartbranch.asm), which one wins? It seems that bankSelect wins, because that is the entry point, but bankSelect is C code, and the C runtime environment is not initialized yet.
Could you explain the code execution flow?
Best,
Laszlo