Champs,
do we have a simple step-by-step firmware update example over serial port for Piccolo?
Best regards,
Matthias
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.
Champs,
do we have a simple step-by-step firmware update example over serial port for Piccolo?
Best regards,
Matthias
Matthias Kassner said:Champs,
do we have a simple step-by-step firmware update example over serial port for Piccolo?
Best regards,
Matthias
Matthias,
While this was written with 281x in mind, it is a very good application note and the concepts still apply to piccolo:
I'll put this on the list for needing a refresh for more recent devices.
More flash resources here:
http://processors.wiki.ti.com/index.php/Flash_Training_and_Application_Notes_for_C2000
-Lori
Hi Lori,
thanks for the pointer, that is very interesting!
Ideally, the customer would like to have full SW control over the process, i.e. not use Boot ROM code.
This would allow them to handle time-critical interrupts during the process.
Would we have an example for that?
Best regards,
Matthias
Matthias Kassner said:Hi Lori,
thanks for the pointer, that is very interesting!
Ideally, the customer would like to have full SW control over the process, i.e. not use Boot ROM code.
This would allow them to handle time-critical interrupts during the process.
Would we have an example for that?
Best regards,
Matthias
Matthias,
We don't have exactly what you ask for. Some ideas on how to implement this:
Option 1:
Create a custom boot loader and flash it into the OTP. This can be the same as what is in the boot ROM with some additional functionality. Then instead of "boot to SCI" you would "boot to OTP". Note in this case, the kernel + flash API would still be downloaded from the SCI just like the boot ROM does - you are just adding additional functionality.
Here is an application note that talks about creating a custom boot loader for OTP - the example is for eCAN or SPI. The idea, however, is the same for SCI.
Option 2:
Have the kernel + flash API stored in flash along with the application code. When a re-flash is started, the code copies the kernel + flash API to RAM along with any interrupts to be serviced (everything has to run from RAM while flashing takes place). Then call the kernel which talks with the SCI just like in the application note.
Note:
The API does block interrupts during time critical portions of code. The longest is during the erase operation where interrupts are blocked for 3-4ms.
-Lori
Thanks Lori for the detailled explanation! I think we go for Option #2.
Best regards,
Matthias
hello Matthias
do you have implemented this project?
could you share some your idea or source codes withs me?
thanks a lot!