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

nRF52 ANT DFU, hangs at wait_for_events()

Hello, I'm trying to implement a buttonless DFU via ANT for a custom nRF52 board. I've got the 212 v4.02 Softdevice and I'm using the 14.0.0 SDK. I am able to transmit and receive via ANT, I am able to go into my bootloader, and I can progress through the bootloader until I hit the "err_code = bootloader_dfu_start();" line. This function progresses until it hits "wait_for_events()". At this point it just hangs waiting for (I assume) an ANT event that never occurs.

When I attempt to connect to the device via "OTAUpdater.exe" I am unable to, thus no ANT event. I set the manufacturer ID and product ID to wildcard (0), select nRF52 as the platform, and it is unable to see my board. When the ANT-FS in the bootloader times out (~2 minutes via default setting), it kicks me back to my main program code, at which point ANT broadcasting starts working immediately.

I am able to perform an OTA update on my nRF52 DK using the same method I am trying with my custom device. Any suggestions?

Parents
  • Are any modifications necessary to get the bootloader to work on the custom board? If it is, change it as little as possible. Can't you just use the working bootloader hex you are using on the nRF52 on the custom board? It should start in bootloader mode if no application is present. Don't bother with the application now, let's just get the bootloader to work first.

    No, the ANT stack will not handle everything. The bootloader is handling the DFU process.

Reply
  • Are any modifications necessary to get the bootloader to work on the custom board? If it is, change it as little as possible. Can't you just use the working bootloader hex you are using on the nRF52 on the custom board? It should start in bootloader mode if no application is present. Don't bother with the application now, let's just get the bootloader to work first.

    No, the ANT stack will not handle everything. The bootloader is handling the DFU process.

Children
No Data
Related