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.

TM4C Firmware Update OTA

Expert 2065 points

Hello, 

I have a question: we are currently working on a system where we have a TM4C123G connected to a GSM module. This GSM module can be connected to thTM4C either via UART or via USB. 

We want to be able to update the TM4C firmware by distance using the GSM module to do so. 

1./ How would you operate to establish this solution ?

2../ What are the risks ? (example if power go off during the firmware update

Thank you for your help 

  • Chrischina said:
    2../ What are the risks ?

    The risks are legion. You mentioned power off. Add, as a start

    • Corrupt images
    • Authentication of source (IE does the image come from an authorized source?)
    • Deliberate attack
    • Protocol lock
    • Reversion
    • Compatibility

    Chrischina said:
    1./ How would you operate to establish this solution ?

    I'd first ask if you are really, really sure you need to do a remote update.

    Then I'd suggest you spend time reading the Risks List. Just to give an appreciation for the ways things can go wrong.

    Robert

  • I had anticipated part of the risk in the list. Now let's say we know the risk. My question is rather related to the strategy to implement to perform this. The reason I am asking this is becasuse we are currently reviewing a pcb schematic for a project and I would like to attempt to make the pcb ready for this function later if we want to implement it.

    I read here and there that some manipulation of boot loader could be a potential solution,, but when I hear boot loader to manipulate It get me anxious so I was wondering if there is any other solution, such as UARt etc.. ?
  • Chrischina said:
    I had anticipated part of the risk in the list

    So not all, and I don't think my list is complete. Do not take these risks lightly.

    Chrischina said:
    The reason I am asking this is becasuse we are currently reviewing a pcb schematic for a project and I would like to attempt to make the pcb ready for this function later if we want to implement it.

    You might want a hold-up supply. Check the errata and data sheet for programming the flash and see if you need to ensure programming is not interrupted. The EE has very severe errata in this regard.

    The biggest direct impact is going to be the risks mentioned above. Mitigating those really requires storage (possibly secure storage) for encryption keys and certificates. You might want to consider adding a TPM IC.

    Chrischina said:
    I read here and there that some manipulation of boot loader could be a potential solution,, but when I hear boot loader to manipulate It get me anxious so I was wondering if there is any other solution, such as UARt etc.. ?

    I don't understand. That's like asking if a spoon is an alternative to soup.

    Robert