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.

TMS320F28335 "unload" data from RAM

Using external .dll (for example FlashAPI) you need to allocate about 1,5 kb of RAM.

i.e.:

   Flash28_API:
   {
        -lFlash28335_API_V210.lib(.econst)
        -lFlash28335_API_V210.lib(.text)
   }                   LOAD = FLASHD,
                       RUN = RAML0, 
                       LOAD_START(_Flash28_API_LoadStart),
                       LOAD_END(_Flash28_API_LoadEnd),
                       RUN_START(_Flash28_API_RunStart),
                       PAGE = 0

....

    // Copy the Flash API functions to SARAM
    Example_MemCopy(&Flash28_API_LoadStart, &Flash28_API_LoadEnd, &Flash28_API_RunStart);

Unfortunately you can't use identical identificators in RUN_START instruction.

Is that any ways to re-use (Flash28_API_LoadEnd – Flash28_API_LoadStart) memory space and improve memory management?

  • Alex Berg said:

    Using external .dll (for example FlashAPI) you need to allocate about 1,5 kb of RAM.

    i.e.:

       Flash28_API:
       {
            -lFlash28335_API_V210.lib(.econst)
            -lFlash28335_API_V210.lib(.text)
       }                   LOAD = FLASHD,
                           RUN = RAML0, 
                           LOAD_START(_Flash28_API_LoadStart),
                           LOAD_END(_Flash28_API_LoadEnd),
                           RUN_START(_Flash28_API_RunStart),
                           PAGE = 0

    ....

        // Copy the Flash API functions to SARAM
        Example_MemCopy(&Flash28_API_LoadStart, &Flash28_API_LoadEnd, &Flash28_API_RunStart);

    Unfortunately you can't use identical identificators in RUN_START instruction.

    Is that any ways to re-use (Flash28_API_LoadEnd – Flash28_API_LoadStart) memory space and improve memory management?

    Alex,

    For stand alone operation the flash API has to be stored in non-volatile memory.  The above allows you to copy flash from its non-volatile storage location to a location in RAM where it can be executed.  If I understand the question you want to re-use the non-volatile memory where the API was stored?  You can erase the flash and then use it, but you will no longer have the API stored for stand-alone operation.

    -Lori