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.

FLASH API LIBRARY



Hi All.

           Regarding "rts library " ,TI is providing "rtssrc.zip" file to view the contents of the library.Similarly ,is it possible to view the contents of "Flash28335_API.LIB" library.

Thanks & Regards,

Naveen.

  • Marada Naveen Kumar said:

    Hi All.

               Regarding "rts library " ,TI is providing "rtssrc.zip" file to view the contents of the library.Similarly ,is it possible to view the contents of "Flash28335_API.LIB" library.

    Thanks & Regards,

    Naveen.

    We do not provide the source of the flash API by default.  The source of the flash Lib is only given out under agreement only.  Due to testing of the lib customers are asked to not modifiy or recompile the library in this agreement.

    Regards

    Lori

  • Okay Lori,but I've got a problem.

      I am trying "embedded flash programming solution " for TMS320F28335.I am mapping one section of code ( "main" -containing initializations,loading and copying of FLASH APIs ,SCI Boot loader etc.,) to a flash sector (which i want to be fixed) and other section of code(application code) to another sector which must be programmed during up-gradations.

    The problem arises when no of uninitialized variables change in my app code .The FLASH API variables(Flash_CpuScaleFactor,Flash_CallbackPtr) are mapped to random addresses in .ebss section when ever the  no of uninitialized variables  change in my app code.Hence my "main" code which accesses these variables is also changing ,which is supposed to be fixed.Is there any way i can map these variables to fixed locations in .ebss section?

  • Marada Naveen Kumar said:
    Is there any way i can map these variables to fixed locations in .ebss section?

    I think you could place them in their own section using a DATA_SECTION pragma and then use a GROUP to place them at the top of .ebss. 

    For example (DATA_SECTION pragma is described in www.ti.com/lit/spru514)

    /* -- Global variable used by the delay function -- */
    #pragma DATA_SECTION(Flash_CPUScaleFactor, "FlashScalingVar");
    Uint32 Flash_CPUScaleFactor;

    /* -- Callback function pointer -- */
    #pragma DATA_SECTION(Flash_CallbackPtr, "FlashCallbackVar");
    void (*Flash_CallbackPtr) (void);

    Then in the linker command file use GROUP (www.ti.com/lit/spru513).  My syntax may not be exact here but it would be something like:

    SECTIONS
    {
    .....
      GROUP run = MYEBSS, PAGE = 1
       {
             FlashCallbackVar   
             FlashScalingVar
             .ebss
       }

    ...

    Let me know how it goes. 

    Regards

    Lori

  • Hi Lori,

                  Using #pragma didn't work,because the variables are defined in the library and i am not able to access the library.But the problem is solved.In the linker command file there is grouping of sections ".text",".econst" of Flash API library to copy them from flash to RAM.Similarly I've assigned the .ebss section of Flash API Lib to desired location like this.

                             

    SECTIONS
    {
    .....
      Flash_Var:
       {
             _lFlash28335_API_V210.lib(.ebss)
       }                     LOAD = RAML4,

                               PAGE = 1

    ...

    }

    Thanks for giving the idea about grouping of sections.