Part Number: TMS320F2808
Using Code Composer 10.3, I am importing the Flash API into my code and it builds as expected. I ensure the library paths as part of this discussion - https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1012666/launchxl-f280025c-flash-api/3742724#3742724.
I added the necessary F2808.cmd links:
Flash28_API:
{
-lFlash2808_API_V302.lib(.econst)
-lFlash2808_API_V302.lib(.text)
} LOAD = FLASHD,
RUN = RAML0,
LOAD_START(_Flash28_API_LoadStart),
LOAD_END(_Flash28_API_LoadEnd),
RUN_START(_Flash28_API_RunStart),
PAGE = 0
ramfuncs : LOAD = FLASHD,
RUN = RAML0,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0
As a test, I moved just the Flash_APIVersionHex( ) into my main function (after the MemCopy and the PLL setup etc.) to ensure it will work. When I run, I get jumped to an ILLEGAL_ISR() ESTOP.
I also get the following: Can't find a source file at "Flash28_Version_Hex.c"
Locate the file or edit the source lookup path to include its location.
When I step into the Flash_APIVersionHex( ) and show the disassembly, I see the following and as I single step the code, it enters the CopyData function:
Flash2808_APIVersionHex():
00851b: FE0C ADDB SP, #12
00851c: 767F51E3 LCR 0x3f51e3
100 {
CopyData(), RamfuncsRunStart:
00851e: FE0C ADDB SP, #12
115 CsmUnlock();
00851f: 767F51E8 LCR CsmUnlock
Any obvious reason why I can't seem to get the Flash API hex version with this simple setup?