Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
04/24/00 05:38
Read: times


 
#2307 - RE: What is boot loader ?
Boot loader is a small piece of program, in general already installed in the controller, that handles serial loading of the FLASH code memory. If you have only external FLASH memory, you need an extra EPROM (or reserve one FLASH sector) for the BOOT code.

It is executed after the reset and enables a serial download of internal code memory. Boot loader can accept pure binary file or Intel HEX file, but for fast and efficient download, I have used block mode with 16 bit CRC checking. Binary data is sent in 512 bytes records-blocks with a 16bit CRC appended. Protocol is like XMODEM with ACK/NACK handshaking. If a block received and programmed errorfree, an ACK is generated, else NACK with a retransmission required.

If you use HEX files, you do not need a special protocol - simple text transfer would do. Hex files already have built in 8bit CRC checking but the download time is tripple comparing pure binary transfer.

If you are using a standard 51 device with only one big external FLASH device, you need also an external SRAM where the code is executed from while FLASH programming in progress. I'm using 29F080 - 1Mbyte flash with a 251 controller. Flash programming routines are copied at startup from the boot loader sector to SRAM and are executed within SRAM while programming the flash.


List of 2 messages in thread
TopicAuthorDate
What is boot loader ?            01/01/70 00:00      
RE: What is boot loader ?            01/01/70 00:00      

Back to Subject List