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.

TMS570LC4357: Using Flash Bank for storing user data

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN

Hi,

I am using TMS570LC4357, want to use the internal flash for storing some user data. 

I came across that only data can be saved in bank 7,

Can i use other banks- Bank 1 - Bank 6 for storing user data. 

Thanks & Regards

Shanmukh

  • Hello Shanmukh,

    You can place whatever information in any bank that you want. Take note banks intended for program storage and execution have different life time characteristics including lower write/erase cycle capability. If you choose to use banks other than Bank7 for data storage such as user information, the TI FEE drivers provided by TI do not cover the use case.

    I am curious why you don't believe Bank7 will fulfill your requirement for user data storage? This is one of the types of data that we targeted for storage in the EEPROM emulation bank. The only limitation on the bank is that code cannot be executed from this bank. You could still store data including object code and move it to RAM for execution.
  • Hi Chuck,

    Thanks for the reply.

    I have no issues in using Bank7, but i guess it wont be sufficient for me to store all the user data in Bank7. So i wanted to use other Banks as well.

    Could you send me the link or file where/How can i program other Banks.

    Apart from that i want to use a bootloader, is it possible to run the code from other Banks, other than Bank0 & Bank1 ? 

    Could you send some examples/link of using other Banks.

  • Hello Shanmukh,

    The FEE drivers make use of the F021 Flash API library to carry out the EEPROM emulation and should serve as a good reference for you. The F021 Flash API is available only as a binary and not as source. The user guide, application note on advanced erase/program use and errata document for the F021 Flash API are included with the installation of the F021 Flash API which can be downloaded independently from TI.com or as part of the Halcogen installation. The installation directory is defaults to this location on your machine when you install it : C:\ti\Hercules\F021 Flash API

    We also have several application notes and examples of boot loaders for different communication methods. These include CAN, UART, and SPI but they are not available specifically for the LC4357 device. However, they will still provide a good starting point for development of an LC4357 specific boot loader.

    Below are links to the boot loader application notes:
    SPI based boot loader: www.ti.com/.../spna199
    UART based Boot Loader: www.ti.com/.../spna193
    CAN based Boot Loader: www.ti.com/.../spna187

    There is also a TI Design (reference design including supporting software) that demonstrates a Ethernet based boot loader on a Hercules device. More information on it can be found at this link: www.ti.com/.../TIDM-ETHERNET-BOOTLOADER
  • Hello Chuck,

    I used F021_API_CortexR4_BE_L2FMC_V3D16.lib 

     i came across this post and tried to use the library suggested https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/372106/1309444?tisearch=e2e-sitesearch&keymatch=Fapi_Error_OtpChecksumMismatch#1309444

    I tried with F021_API_CortexR4_BE_L2FMC.lib

    Now its working.

    Could you send the memory map details of all flash banks in TMS570LC4357

  • Hello Shanmukh,

    I am glad you were able to get something working.

    The memory map details of the flash are in the datasheet: TMS570LC4357 Hercules™ Microcontroller Based on the ARM® Cortex®-R Core datasheet (Rev. C)

    Specifically, there are details in section 6.10.