Tool/software: TI C/C++ Compiler
Hello everyone,
I am working on a program which needs to periodically write data to flash without pausing operation. I am using Code Composer Studio 10.0.0.00010 and C2000 CGT v20.2.1.LTS.
The Flash API documentation (SPNU632) states the following:
Flash API execution is interruptible. However, there should not be any read or fetch access from the Flash bank on which erase or program operation is in progress. Therefore, the Flash API functions, the user application functions that call the Flash API functions, and any ISRs (Interrupt service routines,) must be executed from RAM.
I use the --ramfunc option in order to execute all my code from RAM. By looking at the link information (.map) file I see that all functions from my source code are run from RAM.
However I have two problems:
1. There is code from the run-time support library (rts2800_fpu64_eabi.lib) that remains in the .text section which is allocated in the flash memory. For example there are the following entries in the link information file:
- u_div28.asm.obj (.text)
- memset.c.obj (.text)
- memcpy.c.obj (.text)
2. There are several global const and static const variables in the .const section which is allocated in the flash memory, several of which might be read by functions which need to keep running while the flash memory is being erased or programmed.
Can someone help me solve these two problems?
Best Regards,
Pierre

