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.

RM48L952: Flash EEPROM

Part Number: RM48L952
Other Parts Discussed in Thread: UNIFLASH

Tool/software:

Hello,

For out production usage, we would like to know if it is possible to flash / erase the EEPROM as a part of flash by using CCS or uniflash tools (with JTAG)?

If it is possible, Is there any tools which can help to generate a binary file (like a .hex or .out) for EEPROM ?

For the moment, we are using our boot software to initialize the EEPROM with FEE library.

However, for the production, we like to download the entier EEPROM content just like downloading our software code.

Thank you very much for your support.

Regards,

Hanlin YU

  • Hi Hanlin,

    I know one simple procedure that,

    You can maintain two codes; one is to write in the FEE section:

    Example:

    (+) [FAQ] TMS570LC4357: Examples and Demos available for Hercules Controllers (E.g. TMS570x, RM57x and RM46x etc) - Arm-based microcontrollers forum - Arm-based microcontrollers - TI E2E support forums

    And other code is your main application, which will get execute in Bank-0  of the flash.

    What you can do is that, first you will execute the FAPI code, which will get run and write the data into the FEE bank section. Once it is executed and then you can do flash your application now, the only thing that you should make sure while downloading your application is that,

    You should need to keep the erase option as "Necessary sectors only"

    If we did this then only the sectors using by application will get erased, that means we can prevent the FEE data from erasing. So, in this way we can keep the FEE data from erasing and in application you can use this data.

    --
    Thanks & regards,
    Jagadish.

  • Thank you for your replay.

    Indeed, i think that we are doing the same thing just that we have these 2 applications coded into one.

    We determine if there is something inside de FEE at the start up. If there is nothing, we execute the part which flash the EEPROM. Otherwise, we execute the normal boot application (which allows to download the application as well via CAN)

    We need to think if a seperation between the normal boot application and a boot SW for FEE initialization is a better solution.

    Just to be sure, there is no way to flash the FEE part with JTAG or other debug probe ?

    Thank you again.

    Regards,

    Hanlin YU

  • Hi Hanlin,

    Just to be sure, there is no way to flash the FEE part with JTAG or other debug probe ?

    Just try to follow the below method and verify the result on your end. In this example i want to program the first 16 bytes in the FEE memory from 0xF0200000 on my RM46 board with the 0x00 to 0x0F data.

    RM46_Export_Memory

    1. First open the Uniflash and read the memory for the controller as below.

    2. Now export the 16 bytes of data from 0xF0200000 to a binary file as shown below:

    3. Once you exported the data into the binary file then try to open the binary data using winhex tool like as below:

    4. Now modify the data as per the requirement and save back. In our case i am modifying the above data with 0x00 to 0x0F like as shown below:

    5. Once you modified the data then open the Uniflash again and select the modified binary file for programming as below:

    And give the load address as FEE address like as i given 0xF0200000 in above picture.

    6. Once you give the proper address then now click the Load image button for flashing.

    7. Now open the memory window again and read back the data in the FEE starting address, as you can see our required data got programmed into the FEE section.

    8. Now in your application make sure to configure the Necessary sectors only like as shown below:

    9. Now debug the application and see the memory data again in CCS:

    As you can see, still my FEE data in the memory for usage of application.

    In this way you can do it FEE program directly from debug probe.

    --
    Thanks & regards,
    Jagadish.

  • Ahh. OK.

    I think, in the example, you do not have the virtual sector or data block headers.

    However, the method could indeed be used even with the complet EEPROM data structure (virtual sectors / data block headers etc.)

    If I understand correctly, we can readback & export the content of memory that has been written with the first application by using FEE library, to get to "pattern" (or the EEPROM data structure). After that, we modify the data part of the exported binary and reload the binary into the memory by using uniflash.

    Is my understanding correct?

    Thank you again.

    Hanlin

  • Hi Hanlin,

    I think, in the example, you do not have the virtual sector or data block headers.

    Yes, you are correct.

    However, the method could indeed be used even with the complet EEPROM data structure (virtual sectors / data block headers etc.)

    The method i provided is for programming EEPROM area with some data but not as FEE data structure. Sorry, i missed your requirement about FEE structure.

    And there is no tool to do this directly with JTAG.

    If I understand correctly, we can readback & export the content of memory that has been written with the first application by using FEE library, to get to "pattern" (or the EEPROM data structure). After that, we modify the data part of the exported binary and reload the binary into the memory by using uniflash.

    And i think you can try this, this process might work.

    --
    Thanks & regards,
    Jagadish.