This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to copy the F2803x Flash API to RAM?

Other Parts Discussed in Thread: CONTROLSUITE

I need to use the Flash API in combination with a CSM lock. I've read that this is possible but that the Flash API must run from secured memory. I thought I followed all the necessary steps to copy the API to L0 SARAM but it seems the code still runs from the Boot ROM. It works fine when the CSM is unlocked and fails when de CSM is locked.

 I’ve tried to run several versions of the Example_Flash28035_API but all failed to build due to unresolved symbols or libraries.

 I’ve read the document “TMS320F2803x PiccoloTM Flash API using CCS4.0v” and on page 16 it says :

 

This group section defines symbols that the linker will assign to the load start, load end, and run start addresses of the section.

For the example shown, the linker will assign the following symbols:

- Load address start: RamfuncsLoadStart

- Load address end: RamfuncsLoadEnd

- Run address start: RamfuncsRunStart

These symbols are already declared in the main library include file, Flash2803x_API_Library.h

 

But the “Flash2803x_API_Library.h” used in the examples had the symbols :

 

extern Uint16 Flash28_API_LoadStart;

extern Uint16 Flash28_API_LoadEnd;

extern Uint16 Flash28_API_RunStart;

 

declared.  Defining a new section in the command file didn’t work.

 

Flash28_API :

{

            -lFlash2802x_API_V100a.lib(.text)

}                      

LOAD = FLASHD,

RUN = PRAML0, 

LOAD_START(_Flash28_API_LoadStart),

LOAD_END(_Flash28_API_LoadEnd),

RUN_START(_Flash28_API_RunStart),

PAGE = 0

Would someone please help me through this process?