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

nrf52840 DFU flash problem

Hi nordic

I am using SDK 14.2.0 Softdevice s332 5.0 Board nrf52840.

I am doing test about DFU example and I am writing in flash about test image.

It is possible. I made my application to zip for DFU test and I did it.

Even if the process is good, I found the problem.

The problem is nrf_dfu_flash err code : 0x03

<debug> nrf_dfu_flash: Flash erase success: addr=0x000FF000, pending 2

<debug> nrf_dfu_flash: Flash write success: addr=0x000FF000, pending 1

<debug> nrf_dfu_flash: Flash erase failed (0x3): addr=0x00040000, len=0x1 bytes, pending 0

<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040000, len=0x80 bytes), queue usage: 1

<debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x00040000, len=0x80 bytes, pending 0

<info> dfu_req_handling: Storing 128 bytes at: 0x00040000

<debug> app: Sending CRC: [0x60, 0x03, 0x01, 0:x000130F0, CRC:0xBEE1E2DF]

<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040080, len=0x80 bytes), queue usage: 1

<debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x00040080, len=0x80 bytes, pending 0

<info> dfu_req_handling: Storing 128 bytes at: 0x00040080

<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040100, len=0x80 bytes), queue usage: 1

<debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x00040100, len=0x80 bytes, pending 0

<info> dfu_req_handling: Storing 128 bytes at: 0x00040100

<debug> app: Sending CRC: [0x60, 0x03, 0x01, 0:x000131E0, CRC:0xF7A261D3]

<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040180, len=0x80 bytes), queue usage: 1

<debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x00040180, len=0x80 bytes, pending 0

<info> dfu_req_handling: Storing 128 bytes at: 0x00040180

<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040200, len=0x80 bytes), queue usage: 1

<debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x00040200, len=0x80 bytes, pending 0

<info> dfu_req_handling: Storing 128 bytes at: 0x00040200

<debug> app: Sending CRC: [0x60, 0x03, 0x01, 0:x000132D0, CRC:0xE1BFE022]

<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040280, len=0x80 bytes), queue usage: 1

<debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x00040280, len=0x80 bytes, pending 0

<info> dfu_req_handling: Storing 128 bytes at: 0x00040280

<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040300, len=0x80 bytes), queue usage: 1

<debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x00040300, len=0x80 bytes, pending 0

<info> dfu_req_handling: Storing 128 bytes at: 0x00040300

<debug> app: Sending CRC: [0x60, 0x03, 0x01, 0:x000133C0, CRC:0x5E40B265]

<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040380, len=0x80 bytes), queue usage: 1

<warning> nrf_dfu_flash: nrf_fstorage_write() failed with error 0x4.

<error> dfu_req_handling: !!! Failed storing 128 B at address: 0x00040380

<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040380, len=0x80 bytes), queue usage: 2

<warning> nrf_dfu_flash: nrf_fstorage_write() failed with error 0x4.

<error> dfu_req_handling: !!! Failed storing 128 B at address: 0x00040380

<debug> app: Sending CRC: [0x60, 0x03, 0x01, 0:x00013028, CRC:0xFFA9D0C1]

I find the devzone.nordicsemi.com/.../nrf_fstorage_erase-returns-nrf_error_internal-in-bootloader

This thread has same problem with me.

The solution is to use the SDK 15.0.0. But I don't use SDK 15.0.0

That is because I have to use ble and ANT +.

What can I do?? Do you have plans about new SDK can use S332 ??

Let me know the solution.

I'm sorry my english levels.

Parents
  • Hello,

    The bootloader in SDK14.X.X is not production quality, and I really don't recommend you to use this version. This is not something you can fix. The issue is in the softdevice, which is also not a production quality softdevice in SDK14.X.X. SDK15.0.0 is the first SDK that has a production quality softdevice for nRF52840.

    S332 is not quantifiable with the nRF52840. It is intended for the nRF52832.

    The good news is that the ANT softdevice for nRF52840 is under development. We expect the alpha version to be released in about 1 month, and the production release to be released in about 2 months.

    So if it is possible, I would hold on on the bootloader part of your project until this is ready. 

    The reason why there isn't a S332 or S340(I would assume the name will be) in SDK15.X.X is that we don't have any ANT softdevices based on S132 or S140 yet.

    Best regards,

    Edvin

Reply
  • Hello,

    The bootloader in SDK14.X.X is not production quality, and I really don't recommend you to use this version. This is not something you can fix. The issue is in the softdevice, which is also not a production quality softdevice in SDK14.X.X. SDK15.0.0 is the first SDK that has a production quality softdevice for nRF52840.

    S332 is not quantifiable with the nRF52840. It is intended for the nRF52832.

    The good news is that the ANT softdevice for nRF52840 is under development. We expect the alpha version to be released in about 1 month, and the production release to be released in about 2 months.

    So if it is possible, I would hold on on the bootloader part of your project until this is ready. 

    The reason why there isn't a S332 or S340(I would assume the name will be) in SDK15.X.X is that we don't have any ANT softdevices based on S132 or S140 yet.

    Best regards,

    Edvin

Children
No Data
Related