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.

How to use RM48L952 Codeflash as non-volatile memory

Other Parts Discussed in Thread: HALCOGEN

We need to use the codeflash to store multiple datas non-volatile. Our firmware will be pretty small (200kb-500kb) and we want to use the rest of the 3mb flash to store those datas because we will need at least 1mb of memory for our application (the more the better).

Our prefered way would be to reduce the flash size used by the programm to 500kb(flash bank 0 sector 0-6) and use the remaining 2.5mb to store our data.

Is there any way to do so and how? Or is there a way to use at least Flash Bank 1 for additional memory?

Also we could not found any excample to use Flash Bank 7 (the 64kb for eeprom emulation) and would be thankfull for some help with this.

By the way we have to use ECC for safety issues and the ECC-Check has to include the non-volatile data memory. Please tell me how to calculate the ECC data and where to store it.

Thanks for help.

  • Hi Frank,

    You can use the data Flash(Flash Bank7) for storing non-volatile data. The Flash API available in the below link will help you to program/erase the data into Bank7. Please take a look at user guide given along with the Flash API. There are also recommended programming and erase flows given in the user guide. 

    http://www.ti.com/tool/f021flashapi

    The API has ECC calculation functions supported and using the data+ECC programming modes in API, you should be able  to program the ECC along with the data.

    Hope this helps answer your query.

    Regards,

    Praveen

  • Hi Frank,

    To clarify, do you want to program this additional data "in-application" or would the data be static?

    If you wish to program in-application, I'd recommend to use the EEPROM emulation bank.  If the data can be written off-line (such as a static calibration), you could use the main flash banks or the EEPROM emulation bank.  The Cortex R4 is a modified Harvard architecture - it has no issue to send instruction or data accesses to the TCM flash.

    The ECC bits are managed in hardware by the flash wrapper and R4 CPU.  For most users there is not a need to access the bits which are carrying ECC.  However if you need such, the bits are also defined at a separate address range in the memory map.

    Best Regards,
    Karl

  • Hi , thanks for your answer.

    Yes we need to use to stor in-application-data to the flash like configuration data. This will not be changed very often but but must be changable during the runtime.

  • Hi , thanks for your answer.

    The problem is that bank 7 is way to short for our application. We also need at least bank 1 and if possible the upper part of bank 0.

    Am i right that the Flash API is closed source? For TÜV-approval we may only include code we have the sources from.

  • Hi,

    I recently figured out that HALCoGen offers a section called FEE for the chip TMS570 but not for the RM48 which we use. Also the example files of the TMS570 included in HALCoGen contains a example for FEE the examples for RM48 don't contain something like that.

    Doesn't support the RM48 emulated eeprom? If the RM48 supports emulated eeprom why HALCoGen does not offer any settings?

    Also we can't  figure out how to use the FEE section. Is there any easy to use documatation explaining the different selections and their meaning?