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

How to upgrade another MCU firmware by nordic n51822 DFU.

Hi, My project include two MCU with n51822 and STM32. I expect upgrading STM32 application firmware by n51822 DFU function. Do you give your advice to implement it by modifying nRF51_SDK_8.1.0_b6ed55f\examples\dfu\bootloader example? Thank you.

Parents
  • Hi Leif,

    It should be ok with what you planning to have.

    You have two options. First is to have a RAM buffer on the nRF51 and then send the packets you receive from the phone to the STM32 via UART on the fly. This approach require you to have a DFU bootloader or something like that to handle the packets from the nRF51 on the STM chip running at the same time. This solution doesn't have restriction on the size of the new image of the SRM32 chip.

    Second approach is what you described, you store the image for STM32 on the nRF51 and then later on you have the bootloader on the STM32 to talk to the nRF51 and get the image from the nRF51. With this approach you will have limitation of the size of the swap area on the nRF51 (about 70kB). But it's safer because the image is stored on flash before it's sent to STM32.

    Unfortunately, we don't have any example for doing that. What we have is the bootloader for the nRF51 only. But I don't see any technical problem to implement it.

  • Thank your reply. according to your advice, it can update nRF51 and STM32 firmware with max size 140kB separately. but how to identify updating firmware that is nRF51 or STM32? if so,update STM32 first,because erase nRF51 application, i need to add UART protocol to update STM32 in your bootloader code. it maybe be hard. my original idea is that entering nRF51 application from bootloader after update nRF51 firmware then update STM32 firmare between nRF51 application and STM32 bootloader with UART protocol. now, the UART protocol have run ok between nRF51 application and STM32 application. my case will not need to modify your bootloader code or less.

Reply
  • Thank your reply. according to your advice, it can update nRF51 and STM32 firmware with max size 140kB separately. but how to identify updating firmware that is nRF51 or STM32? if so,update STM32 first,because erase nRF51 application, i need to add UART protocol to update STM32 in your bootloader code. it maybe be hard. my original idea is that entering nRF51 application from bootloader after update nRF51 firmware then update STM32 firmare between nRF51 application and STM32 bootloader with UART protocol. now, the UART protocol have run ok between nRF51 application and STM32 application. my case will not need to modify your bootloader code or less.

Children
No Data
Related