Question

I need to implement a firmware upgrade mechanism where Apache ACE will be used for provisioning and Apache Felix will be used at the Target side. Does Felix has the capability to upgrade Firmware on devices?

As mentioned in the documentation of Apache ACE, firmware upgrade provisioning is possible. But, how to create a bundle for firmware?

Any help would be highly appreciated.

Thanks

Was it helpful?

Solution

The Apache ACE architecture page indeed refers to updating not only OSGi bundles, but also "related artifacts such as configuration data, native code and device firmware." To handle this, ACE relies on Demloyment Admin (section 114 of the OSGi Compendium Specification), which allows plugging in resource processors.

Using Deployment Admin, you have a way to distribute the artifacts you need to your devices, and process them in a way you see fit: put files in some location, install application packages (e.g. rpm or Android apps), or even use the payload to update firmware. You can thus tie into a standardized deployment mechanism, and use its lifecycle.

Note that it is still your responsibility to do something sensible with the data. In other words, if you don't have a bootloader for updating your firmware, ACE cannot help you in that, but if you do, you can ride along on the distribution mechanism.

Disclosure: I am an Apache ACE committer.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top