FUOTA capabilities

Hi everyone,
I have a question about FreeRTOS capabilities.

Im working on FUOTA(firmware update over the air) project and I was wonder is it possible to update just a piece of program for example just update the HAL layer and send it or it always have to be the full image?

FreeRTOS neither allows or disallows such abilities. One thing to remember is that FreeRTOS is a piece of your program, and under its control, not something which has total control over your program and you program runs under it.

The key to partial updates is organizing how you build you program to be prepared to do such things, and having an isolation API between pieces that are to be independent. This tends to require doing the link step specially, and often requires some special pieces of code to make this happen.

1 Like

thank you so much for your help!
is there any demo related to this subject that might help me?

As I said, it isn’t really a FreeRTOS issue, but is largely a problem that needs to be solved based on your particular choice of hardware and software tools, so you should look at fora relating to those about how to do it in your situation.

One thing sort of FreeRTOS related to mention is that since most FreeRTOS environments are running the code directly out of the flash media they are stored in, updates tend to require shifting the program into a special ‘update mode’ for the duration of the update so you aren’t trying to run the code that is being erased an updated. Even if you are in an environment where the program is copied out of the flash into ram to run, you likely want special code in the flash to handle a program restart during the reprogramming so that you don’t totally brick your unit.

1 Like