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

52832 dfu issue

SDK:nRF5_SDK_16.0.0_98a08e2

Hardware:52832QFAA

I refer to the code of ble_app_buttonless_dfu to port to ble_app_hrs_freertos but the following problems occur during the upgrade process

00> <error> hardfault: HARD FAULT at 0x00000000
00>
00> <error> hardfault: R0: 0x20004A78 R1: 0x20004AA0 R2: 0x00000008 R3: 0x00000000
00>
00> <error> hardfault: R12: 0x00000000 LR: 0x000365D7 PSR: 0x60000000
00>
00> <error> hardfault: Cause: The processor has attempted to execute an instruction that makes illegal use of the EPSR.

here are some detail info。

、app demo:

1.ble_app_buttonless_dfu

2.ble_app_hrs_freertos

、dfu demo:

/secure_bootloader/pca10040_s132_ble_debug

、My upgrade steps are as follows:

1.\nRF5_SDK_16.0.0_98a08e2\examples\dfu\secure_bootloader\pca10040_s132_ble_debug\armgcc\Makefile$make flash

2.\nRF5_SDK_16.0.0_98a08e2\examples\ble_peripheral\ble_app_hrs_freertos\pca10040\s132\armgcc\Makefile$make flash_softdevice

3.\nRF5_SDK_16.0.0_98a08e2\examples\ble_peripheral\ble_app_hrs_freertos\pca10040\s132\armgcc\Makefile$make flash

4.nrfutil pkg generate --hw-version 52 --application-version 0xff --application nrf52832_xxaa.hex --sd-req 0xcb --key-file private.pem dfu.zip

5.put step4 dfu.zip in nRF Connect(IOS 2.2)  than start dfu

Ⅳ、if I eraseall then do step 1->2->4->5 the dfu can be success.but do 1->2->3->4->5 , I can find adv in nRF Connect,but  when I do step 5,the error log turn up.

 

How can I solve this problem?

Why does it not automatically reset whether I add a watchdog or not?

Parents Reply
  • Thanks for confirming that it worked.

    king001 said:

    "Dfuxxx" state.
    What I want is that no matter when the dfu is canceled at any dfu time, the program should run to the app state, but now it is in

     Does it stay in DFU mode even after you reset the device? That would indicate that the existing application was deleted as a part of the DFU process (eg in case the app image was too big for a dual banked update). There is the Abort command which should let you cancel DFU like you want, but I'm not sure if it's used by the dfu library. You may have to issue the command in your app if not. 

Children
No Data
Related