This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF52840 and STM32 (firmware update)

Hi team, there is a connection between NRF52840 and STM32F407 via UART. The task is to provide a possibility to update STM32 firmware via uart (nrf is responsible to perform this task). So, nrf should receive file (.bin) over the air, configure the stm32 bootloader and send the file (.bin) to the stm32. My question is: how to receive firmware file for STM32 over the air?
I tried to use Object Transfer Service (OTS), I use the sample form SDK15.3 (../examples/ble_peripheral/experimental/ble_app_ots/). I load the sample to the devboard NRF52840-DK, but i can't to connect to the service using nRF_Connect scanner. I tried to use 2 devboards as metioned here (https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Fble_sdk_app_ots.html) but it is also not working (there is no connection between server and client).

Parents Reply
  • The bootloader verifies the integrity of the received image in nrf_dfu_validation.c::postvalidate() and updates the .bank_1.bank_code flag to NRF_DFU_BANK_VALID_EXT_APP if it passes the check. Once the bank code is updated, you know the ext. App has been validated, and you can start transferring it to the ST chip.  

    nrf_bootloader_fw_activation.c::app_activate() shows how internal app images are copied from bank 1 to bank 0. You may use this as a reference. Except that your function needs to copy it from bank 1 to the ST. 

Children
Related