I implemented a second stage bootloader in the first flash sector that is able to update the flash via a FTDI FT245 usb link. The bootloader checks a signature (a CRC is also possible) and if this is correct, it starts the program from the second flash sector. The program can jump to a fixed address (immediately after the exception vectors) to erase the program and start an update procedure. If the update fails, my own bootloader in the first sector will not start the program in the second sector because of an incorrect signature or crc and it will run in update mode until a correct program is uploaded. A disadvantage is that you need to relocate the exception vectors to ram or use the fixed exception vector table from the bootloader. Another disadvantage is (at least with the keil ide) is that the debugger / jtag flash programmer does not know how to handle a program that does not use sector 0 which I solved by always including the bootloader code in the ide project. Regards, Richard. Srdan Suka wrote: > Hi everyone! > > I am using LPC2103 in my project. LPC is connected to server using > RS485 interface (Semi-duplex). Also I have EEPROM memory connected to > LPC. > I would like to do this if it is possible: > > 1. Using my resident LPC firmware, load new firmware to EEPROM memory. > 2. Load a small program into Flash into first available sector > (this program I would like to use to copy new firmware from > EEPROM to Flash over the existing firmware). > > Is it possible to use ISP GO command to execute "Copy proggram" from > Flash to start copying firmware from EEPROM to flash memory. > What will happen it copy process fails and I overwrite firmware at > 0x0000 0000 address? > Can I "tell" the bootloader alwayws to start the "Copy program" unless I > "tell" it that the updating is finishead and the main firmware should > be started? > > Has anyone tried this? > > Thanks :) > > Srdan > >
Message
Re: [lpc2000] Updating firmware using ISP GO command?
2006-03-09 by Richard Duits
Attachments
- No local attachments were found for this message.