??? 02/13/12 19:40 Read: times Msg Score: +1 +1 Good Answer/Helpful |
#185910 - Boot Loader Responding to: ???'s previous message |
To get some ideas on how to go about getting it possible to have user code updates from a PC via a serial connection or via a USB/Serial adapter cable you will need to equip your MCU with a boot loader capability. SiLabs has a whole AppNote on that subject that works as two separate executables that you program in C and then compile separately and program into the MCU at initial production.
I, for one, do not like having to support and maintain the boot loader separately from my application program so I have devised a concept where I have a boot loader that is written in assembler language and then linked to my application as just another module. The loader module gets linked at address zero and is designed to support a command packet interface to a PC over the UART port to support erasing and programming the "application" part of the FLASH whilst not letting itself get overwritten. There is a posted listing of one flavor of this boot loader that I did for the C8051F126 at the link below. I have since adapted additional versions of this boot loader to about a half dozen other SiLabs MCU families. http://www.8052.com/users/mkaras/loader.pdf Some other links where boot loaders have been discussed before: http://old.8052.com/forum/read/69865 http://old.8052.com/forum/read/90590 http://old.8052.com/forum/read/161742 http://old.8052.com/forum/read/176970 http://www.8052.com/forum/read/177015 It takes a custom app written for the PC side to support the command packet interface and offer the user a nice reliable interface for downloading code updates to the target MCU. If you like the concept of the loader as described here and would like to see sample host side code please contact me off board. Michael Karas |
Topic | Author | Date |
Learing SiLabs C8051020 | 01/01/70 00:00 | |
for my SILabs jobs | 01/01/70 00:00 | |
Boot Loader | 01/01/70 00:00 | |
more than one way to skin a cat | 01/01/70 00:00 | |
Bootloader | 01/01/70 00:00 | |
Learing SiLabs C8051020 - HLL steping? | 01/01/70 00:00 | |
F8051F5* | 01/01/70 00:00 | |
maybe | 01/01/70 00:00 | |
HLL stepping | 01/01/70 00:00 | |
Ditto | 01/01/70 00:00 |