This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
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

DFU to update third-party ECU

We would like to try using the standard DFU process to update third party ECU connected to the nrf52 chip.
Our idea is to modify the standard DFU zip package - to add a new parameter to the manifest.json, for example a motor controller:

Then, when receiving the contents of mcM221.hex, write it to external memory (SPI \ i2C FLASH) and perform all further actions.

I didn't find the parsing of the manifest file in bootloader. Until I dived into the depths of the code I would like to ask support if the scenario described is possible? If so, please let me know where can I find the code responsible for parsing the manifest.json file and processing the bin_file\dat_file?

PS: we're using softdevice ver 332

Parents
  • Hello,

    If you use nRF5 SDK 15.3.0 or later and look at the source code, you should see that there is a FW update type called "External application". It's still an experimental feature, and documentation is lacking, but should be a good starting point for what you are trying to do.

    sdk_config.h setting from nRF5 SDK 17.0.2

    Do you expect Bank 1 on your device to be large enough to receive the full image before transferring it over SPI/i2c?

    Bank 1 is the free area between main application and reserved application data/bootloader:

Reply
  • Hello,

    If you use nRF5 SDK 15.3.0 or later and look at the source code, you should see that there is a FW update type called "External application". It's still an experimental feature, and documentation is lacking, but should be a good starting point for what you are trying to do.

    sdk_config.h setting from nRF5 SDK 17.0.2

    Do you expect Bank 1 on your device to be large enough to receive the full image before transferring it over SPI/i2c?

    Bank 1 is the free area between main application and reserved application data/bootloader:

Children
No Data
Related