This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Update ARM code to distant system?

I have problem with updating program to distant arm system. I found some bugs in program but we sold couple product and is expensive to go and change code directly, I want to update using server-controller communication.
I had idea two application image written in another places in memory(new one and old) and if some flag is set to execute first and if not to execute second. And when I want do update if flag is set - write program in first memory location and if is not to write to second memory location.
Does anybody knows how to solve this problem and does anybody has example code for this?

I'm using ARM LPC2378, and for developing Keil bord MCU2300

Parents
  • If you haven't provided any way in your current software to do field updates your options would seem to be limited to going out there, or sending a replacement board.

    The concept of splitting firmware in to multiple pieces is not new, you could have a boot loader capable of accepting updates, and an application portion which the boot loader checks and jumps too.

    It's not clear if you have network connectivity for your device, or how you plan on delivering firmware updates.

    You could write a boot loader that's capable of downloading new software via the internet, or via a serial port and and terminal program. If the board has an SD card slot you could send firmware updates on those, and have the boot loader look for new firmware on that.

    Perhaps you should have thought about this a little earlier in development, and picked up some books on embedded systems, and looked at how other devices you use effect firmware updates.

Reply
  • If you haven't provided any way in your current software to do field updates your options would seem to be limited to going out there, or sending a replacement board.

    The concept of splitting firmware in to multiple pieces is not new, you could have a boot loader capable of accepting updates, and an application portion which the boot loader checks and jumps too.

    It's not clear if you have network connectivity for your device, or how you plan on delivering firmware updates.

    You could write a boot loader that's capable of downloading new software via the internet, or via a serial port and and terminal program. If the board has an SD card slot you could send firmware updates on those, and have the boot loader look for new firmware on that.

    Perhaps you should have thought about this a little earlier in development, and picked up some books on embedded systems, and looked at how other devices you use effect firmware updates.

Children