Frage

Here i want to update my device fireware.

After downloading the file from somewhere(server) what can i do for update the firmware?

Please Tell me the way how can i achieve this and which things i have to keep in my mind to achieve this goal.

What is the Steps for this?

i want to make first design how can i go ahead to achieve this goal.

i researched on this on google but i cant get any useful link which give me clear idea about this.

Please provides me some useful links so from that i can get clear idea about this.

here i have on link regarding my research link

War es hilfreich?

Lösung

Firmware update over-the-air is a complicated topic. How exactly to do it depends a lot on the specifics of your device hardware and operating system. One link that can give you an overview is on Wikipedia.

There are commercial solutions available, but assuming you want to make your own, the main things to consider are:

  1. Recovery: You can never leave the system in a state where it is stuck or partially programmed. Assume your device's power can be pulled at any instant. Recoverability can be provided by keeping a backup copy of the original firmware and having a special bootloader that knows to boot into the backup firmware if the primary firmware is corrupted. Alternatively, the upgrade data and the state of the upgrade process can be recorded in nonvolatile memory, and the bootloader can continue the upgrade process after the device powers up after an interruption.

  2. Interaction with device functionality: Ideally, the user of the device will not be able to tell the update is occurring. One method to do this is to only apply the update when the system is manually restarted, or to prompt for the user to explicitly allow the update.

  3. Security and integrity: Your device should be able to validate the update is from a trusted source and that the data hasn't been tampered will and doesn't have errors. This is done with digital signatures, hashes, and checksums.

  4. Patching technique: How are you going to update the firmware? Do you download a whole new copy? Are you overwriting certain addresses/code? Replacing certain files? The choice here has an impact in the amount of data transfer and memory the update will require. Patching can use a lot less memory, but can be very difficult (compressed data, non-position independent code). Having a filesystem that lets you replace individual files helps make updates smaller.

Andere Tipps

There is an excellent whitepaper on this topic over at TechRepublic (free registration required): http://www.techrepublic.com/whitepapers/principles-of-updating-mobile-firmware-over-the-air-fota/320505

I believe this addresses what you're looking for.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top