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.

CCS/TMS320F280045: Flash library linker configuration

Part Number: TMS320F280045
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hi

I need to define the position in memory where the flash libraries are saved. The flash library must be in the bootloader range of memory not in the application range.
Can somebody help me and give some hints

Thanks Franz

  • Franz,

    When you say Flash libraries, do you mean Flash API library (used to erase and program Flash)? 

    Thanks and regards,

    Vamsi

  • Vamsi

    Yes I want include the full flash library for erase prog and so on in the bootloader range. I need to tell the linker where the flash API must be placed in flash memory.
    Thanks and regards

    Franz

  • Franz,

    On F28004x, as you may know, Flash API is already there in the ROM.  You can simply add the Boot ROM Flash API symbols library (F021_ROM_API_F28004x_FPU32.lib) to your project and compile. You don't need to add this in your linker cmd file.  This library is available at C2000Ware\libraries\flash_api\f28004x\lib.

    Thanks and regards,
    Vamsi

  • Dear Vamsi

    As I you understand F021_API_F28004x_FPU32.lib is not needed to include? This library is still in ROM? But if I exclude the Flash library from build I get these errors:

    undefined first referenced
    symbol in file
    --------- ----------------
    _Fapi_calculateEcc ./bootloader/bootloader_flash.obj
    _Fapi_checkFsmForReady ./bootloader/bootloader_flash.obj
    _Fapi_getFsmStatus ./bootloader/bootloader_flash.obj
    _Fapi_initializeAPI ./bootloader/bootloader_flash.obj
    _Fapi_issueAsyncCommandWithAddress ./bootloader/bootloader_flash.obj
    _Fapi_issueProgrammingCommand ./bootloader/bootloader_flash.obj
    _Fapi_setActiveFlashBank ./bootloader/bootloader_flash.obj
    If I include the F021_API_F28004x_FPU32.lib the routines are in the application area, but I need to put the flash routines into bootloader area.
    If the routines shall be in ROM why he move to a flash address in case of calling Fapi_initializeAPI routine?
    Franz

  • Franz,

    You need to use F021_ROM_API_F28004x_FPU32.lib and not F021_API_F28004x_FPU32.lib.

    Please let me know if you have any questions.

    Thanks and regards,

    Vamsi