Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Safe bootstrap loader on a remote device

Status
Not open for further replies.

lockerman

Member level 1
Joined
Oct 8, 2001
Messages
40
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
234
Hi all,

I am designing a small embedded device which will be installed in a remote location and visited by human who knows how often. Once installed it has to connect to a server via HSDPA, GSM or Ethernet once a day and send some data. The device is based on a small microcontroller (uC). In a case of the device SW upgrade I need to design a bullet proof bootstrap loader. Let's say the server sends a completely new application code for the uC and the uC has to reprogram its own flash memory. Now the question is how to do it safely and reliably. In a case someone sends a wrong app code the uC gets "stuck" and no more communication will be possible with it.

Does anyone have designed anything similar in the past? What about using another small external uC which will watch the main one and will somehow manage to program it with a backup app in a case of failure?

Thank you
L.
 

Hi,

I have a scheme that may work for you but this will some modifications to the original scheme as suggested by you.

See the attachment I made...

Since I am more proficient in PICs I have naturally biased my scheme towards them. But I am sure you can modify the scheme to suit whatever mcu you plan to use.

If you need more clarifications please do post. I would be helpful..

thanks
a

Just for your information, ICSP is a technique used by PIC programmers to program the mcus, In this technique 4 I/O are used, each PIC has a special procedure for programming, more details can be found in the microchip site.
 

I am designing something similar to your application. I split my memory into download space, application space and bootloader. My design will encompass the below.

**broken link removed**.

http://embeddedloconet.sourceforge.net/bootloader/index.en.html

So far I can download the file from http server using GPRS and program the chip. Just need to make it more robust hence the reason for CRC check, application and download space. This is tried method as I have spoken to a experienced engineer, and he used it in a comms product.

lockerman said:
Hi all,

I am designing a small embedded device which will be installed in a remote location and visited by human who knows how often. Once installed it has to connect to a server via HSDPA, GSM or Ethernet once a day and send some data. The device is based on a small microcontroller (uC). In a case of the device SW upgrade I need to design a bullet proof bootstrap loader. Let's say the server sends a completely new application code for the uC and the uC has to reprogram its own flash memory. Now the question is how to do it safely and reliably. In a case someone sends a wrong app code the uC gets "stuck" and no more communication will be possible with it.

Does anyone have designed anything similar in the past? What about using another small external uC which will watch the main one and will somehow manage to program it with a backup app in a case of failure?

Thank you
L.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top