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

working without DFU, not working with DFU

Hi there,

I had the DFU already working very well for quite some time, but my luck has ended. When I program the application via JLink it works perfectly fine, also the download of the application via secure DFU itself doesnt cause any issues.

My application starts advertising, I can connect but always at the same moment (when I start up an SPI interface and want to start talking to an external ADC) the application resets. I checked the ROM/RAM settings a thousand times, the bootloader address is correct, the RAM settings of the application according to the requirements of the softdevice and also tried many different combinations (mainly different irom sizes of application) but still the same reboot issue which does not appear when downloading the application directly.

I use SDK13, Softdevice S132 4.0.2, nRF52832 with 512KB flash (168KB available when using dual bank dfu) and 65KB RAM (57KB left with Softdevice enabled) and my application is not that big: Program Size: Code=76740 RO-data=6620 RW-data=1688 ZI-data=21800

Any idea what I could be missing?

Thanks a lot, Josef

Parents
  • Next best guess: I am using one of the pins reserved for the NFC antenna as SPI Clock pin, in the application i a UICR setting defined in a header file to enable that.

    const uint32_t UICR_ADDR_0x20C attribute((at(0x1000120C))) attribute((used)) = 0xFFFFFFFE;

    Does the Bootloader perform the same write to UICR as specified in the application header file or is that ignored? And if it is ignored, how could i have that write executed from the applidation during ota?

    Many thanks, Josef

Reply
  • Next best guess: I am using one of the pins reserved for the NFC antenna as SPI Clock pin, in the application i a UICR setting defined in a header file to enable that.

    const uint32_t UICR_ADDR_0x20C attribute((at(0x1000120C))) attribute((used)) = 0xFFFFFFFE;

    Does the Bootloader perform the same write to UICR as specified in the application header file or is that ignored? And if it is ignored, how could i have that write executed from the applidation during ota?

    Many thanks, Josef

Children
No Data
Related