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

Issue with OTA DFU on NRF 52832

Hello,

I have tested secure_bootloader_ble_s132_pca10040 project with Segger Embedded Studio. it works fine and I can update my application.zip via nrfConnect android application. Once it is finished, my application start without problem.

After that, I made an hex image of bootloader. I put it with softdevice.hex in the windows programmer of nfrConnect and I flashed the nrf52832. The bootloader runs and 

I can update my application via OTA. But once updating is finished, the bootloader don't launch my application.it keeps running and the only thing I can do is updating again....

Best regards

Parents
  • Hello,

    Sorry for late reply, I was in holidays. Yes I use SES.

    "then you should be able to attach to the running code with a debugger the bootloader project to see whats going on."

    What do you mean ?

    It works in debug mode, so i will not able to see what is going on.....

    Best regards

  • Ok, I though you were not able to debug. If it works in a debug session, then you can try to use the debug version of the bootloader, i.e. nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10040_ble_debug. This will print log information, so you can see whats going on without debugging. 

  • I am not sure I have well explained the issue. In debug mode, it works. The problem occurs only when I programm the device with a full image (bootloader + sdk + app)

  • Yes I have understod that. What I would like to know is if you see the same behaviour, i.e. DFU not working if you have the the debug version of the bootloader, i.e. nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10040_ble_debug, flashed to your nRF device and then perform a bootloader + SoftDevice + app update. 

    If this fails, then you will get the debug log output over UART from the bootloader, which can assist in figuring out where things go wrong. 

    So I kindly ask you to 

    1. Flash the nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10040_ble_debug example to your nRF device ( remember to switch the public key so that its compatible with your image)
    2. Open a terminal, e.g. Putty to see the log output. 
    3. Start the DFU process from your smartphone or through nRF connect for Desktop. 
    4. Attach log output to this ticket so I can take a look at it. 
    5. You can also attach the log from your smartphone or nRF Connect as well so that we have logs from the nRF side and the mobile/pc side. 
Reply
  • Yes I have understod that. What I would like to know is if you see the same behaviour, i.e. DFU not working if you have the the debug version of the bootloader, i.e. nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10040_ble_debug, flashed to your nRF device and then perform a bootloader + SoftDevice + app update. 

    If this fails, then you will get the debug log output over UART from the bootloader, which can assist in figuring out where things go wrong. 

    So I kindly ask you to 

    1. Flash the nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10040_ble_debug example to your nRF device ( remember to switch the public key so that its compatible with your image)
    2. Open a terminal, e.g. Putty to see the log output. 
    3. Start the DFU process from your smartphone or through nRF connect for Desktop. 
    4. Attach log output to this ticket so I can take a look at it. 
    5. You can also attach the log from your smartphone or nRF Connect as well so that we have logs from the nRF side and the mobile/pc side. 
Children
  • Hello,

    With pca10040_ble_debug, behaviour is not the same. I can upload the firmware but after nothing occurs. A new upload is impossible, device seems not working and there is not advertising anymore.

    Note that:

    - If pca10040_ble_debug is programmed with the ide segger, it works fine too...

    - If I make a dump of device once programmed with segger IDE and I program it with nrfconnect programmer, it works too

    Which uart are you talking about ?

    Ble module is soldered on our own card and its uart is connectect to MCU uart of the card. I put a breakpoint on MCU uart interrupt to see at least if ble module send log frames, but nothing happens...

    Best regards.

  • Hi Pasta, 

    Bjørn is on vacation and I will take over your case. 

    I'm summing up the issue you are having. 

    When you start on a blank chip you can upload the softdevice + bootloader and do DFU update an application. The application works fine. And you can do DFU update another application with no problem ? 

    After that if you flash the softdevice + bootloader (a modified bootloader ? ) then you still can see the DFUTarg advertising but if you do application DFU the DFU succeed but nothing happens after that ? 
    And if you run the bootloader in debug mode, it worked ? 

    If it's the case I would suggest to try printing out logging on UART and check what's the issue , why the bootloader didn't jump to the application, or if it jump to the application but the application couldn't start. 

    In SDK v15.3 we implemented secure booting with boot validation. I'm not sure it's the root cause but there is a chance it's the reason. 

Related