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.

Firmware UpDate from EEPROM via I2C

Other Parts Discussed in Thread: MSP430F5324, CC1101, CC1121

Hi,

I wish I could update a firmware of a device that is equipped with a micro(MSP430F5324), a wireless chip (CC1101 or CC1121), and an EEPROM-I2C 512Kbit.
The idea is to transmit the firmware to the device in wireless mode. the device will save the data in the EEPROM. At the end of the transmission the device will perform a consistency check of the firmware into the EEPROM (using a checksum for example) and if ok start the firmware update process taking data from the EEPROM.
Can you indicate me some documentations, application notes etc about this arguments.

Thanks.

Thomas

  • This is possible.

    You have two separate things to tackle.

    First is having code that can receive the new firmware over the air, write it into the external EEPROM, and validate that it is correct (checksum, CRC, or whatever...)

    The second part is to be able to copy the new firmware from the I2C EEPROM into the internal Flash. To do this you will need a group of functions that can be relocated into RAM (when in this mode) and execute from there. This code would need to be able to read from the EEPROM and write to the Flash. And this would all need to be done with interrupts disabled (all I2C done as polled-mode interface to the USCI).

    I would recommend tackling the first part first and making sure it works. There are other threads here discussing RAM functions and programming Flash. You can search for them.

    Hope that helps.

  • Thanks Brian,
    actually I can transfer the firmware in the EEPROM through the air because I have already developed functions for this but I have a doubt as to the most appropriate format for the firmware I have  to use( I think about hex or mot).
    For the second perte I will search in other threads

    Thanks

  • Thomas Pucci said:
    but I have a doubt as to the most appropriate format for the firmware I have  to use( I think about hex or mot).

    I would store the new firmware in the I2C eeprom in binary format. If it were me, I would not want to be doing a lot of parsing/converting of data during actual reprogramming while running in RAM. I would just want to fetch/program/verify in a loop over the Flash.

**Attention** This is a public forum