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

Program page success but nothing programmed

In the nRF52832 (Laird BL652 module) I have programmed.

MBR + SoftDevice from 0x0000 0000
Application from 0x0002 6000 ~ 0x0005 927C

Now trying to program additional application hex.

nrfjprog.exe -v
nrfjprog version: 8.5.0
JLinkARM.dll version: 6.44h

nrfjprog.exe -f NRF52 --erasepage 0x00065000
Erasing addresses 0x65000 to 0x65FFF.

nRF Connect v2.6.2 - Programmer

17:50:15.426 Using nrfjprog to communicate with target
17:50:16.547 Using J-Link Software version 6.44
17:50:17.350 Segger serial: 683904660
17:50:17.350 Segger speed: 2000 kHz
17:50:17.350 Segger version: J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 7 2019 14:07:15
17:50:17.351 Probed: 683904660.
17:50:17.351 Model: NRF52832_xxAA_REV2.
17:50:17.351 RAM: 64KiB.
17:50:17.351 Flash: 512KiB in pages of 4KiB.
17:50:18.424 Reading device non-volatile memory. This may take a few seconds.
17:50:25.985 Non-volatile memory has been read. 11 non-empty memory blocks identified.
17:50:26.403 SoftDevice detected, id 0xAF (S132 v6.1.0)
17:50:26.406 SoftDevice detected, id 0xAF (S132 v6.1.0)


Page 0x00065000 ~ 0x00065FFF => no content


nrfjprog -r
Applying system reset.
Run.

nrfjprog.exe -f NRF52 --clockspeed 10000 --program file_1.hex --reset
Parsing hex file.
Reading flash area to program to guarantee it is erased.
Checking that the area to write is not protected.
Programming device.
Applying system reset.
Run.


where, file_1.hex contains application in intel hex format:
:020000040006F4
:10500000FE9000030B020400000017002000493B43
...
...
so on
...
:105FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
:00000001FF

Using nRF Go Studio 1.21.2,
....hex programmed successfully.
Verification failed.

And there is nothing in the page 0x00065000.

I don't see anything wrong here.
Do you?

Please let me know the solution.

  • Yes, it appears to be skipped for some reason. Can you try one last thing? Try to program all hex files with nrfjprog.

    1. nrfjprog --program <name>.hex --sectorerase // repeat step for all hex files

  • Did complete chip erase
    Then,

    C:\>nrfjprog --eraseall
    Erasing user available code and UICR flash areas.
    Applying system reset.

    C:\>nrfjprog -r
    Applying system reset.
    Run.

    C:\>nrfjprog --program file_1.hex --sectorerase
    Parsing hex file.
    Erasing page at address 0x65000.
    Applying system reset.
    Checking that the area to write is not protected.
    Programming device.

    C:\>nrfjprog -r
    Applying system reset.
    Run.

    C:\>nrfjprog --memrd 0x65000 --n 0x1000
    0x00065000: 030090FE 0004020B 00170000 3B490020 |............ .I;|
    0x00065010: ....
    ....
    ....
    0x00065400: 000030D2 30FA0000 000200E3 000222E9 |.0.....0....."..|
    0x00065410: 10FD1001 FFFF10F5 FFFFFFFF FFFFFFFF |................|
    0x00065420: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    ...
    ...
    0x00065FD0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    0x00065FE0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    0x00065FF0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    


    Successful. Only file_1.hex exist in the flash.

    C:\>nrfjprog --program C:\Users\... ...\DevelKit_APP.hex --sectorerase
    Parsing hex file.
    Erasing page at address 0x0.
    Erasing page at address 0x1000.
    Erasing page at address 0x2000.
    Erasing page at address 0x3000.
    Erasing page at address 0x4000.
    Erasing page at address 0x5000.
    Erasing page at address 0x6000.
    Erasing page at address 0x7000.
    Erasing page at address 0x8000.
    Erasing page at address 0x9000.
    Erasing page at address 0xA000.
    Erasing page at address 0xB000.
    Erasing page at address 0xC000.
    Erasing page at address 0xD000.
    Erasing page at address 0xE000.
    Erasing page at address 0xF000.
    Erasing page at address 0x10000.
    Erasing page at address 0x11000.
    Erasing page at address 0x12000.
    Erasing page at address 0x13000.
    Erasing page at address 0x14000.
    Erasing page at address 0x15000.
    Erasing page at address 0x16000.
    Erasing page at address 0x17000.
    Erasing page at address 0x18000.
    Erasing page at address 0x19000.
    Erasing page at address 0x1A000.
    Erasing page at address 0x1B000.
    Erasing page at address 0x1C000.
    Erasing page at address 0x1D000.
    Erasing page at address 0x1E000.
    Erasing page at address 0x1F000.
    Erasing page at address 0x20000.
    Erasing page at address 0x21000.
    Erasing page at address 0x22000.
    Erasing page at address 0x23000.
    Erasing page at address 0x24000.
    Erasing page at address 0x25000.
    Erasing page at address 0x26000.
    Erasing page at address 0x27000.
    Erasing page at address 0x28000.
    Erasing page at address 0x29000.
    Erasing page at address 0x2A000.
    Erasing page at address 0x2B000.
    Erasing page at address 0x2C000.
    Erasing page at address 0x2D000.
    Erasing page at address 0x2E000.
    Erasing page at address 0x2F000.
    Erasing page at address 0x30000.
    Erasing page at address 0x31000.
    Erasing page at address 0x32000.
    Erasing page at address 0x33000.
    Erasing page at address 0x34000.
    Erasing page at address 0x35000.
    Erasing page at address 0x36000.
    Erasing page at address 0x37000.
    Erasing page at address 0x38000.
    Erasing page at address 0x39000.
    Erasing page at address 0x3A000.
    Erasing page at address 0x3B000.
    Erasing page at address 0x3C000.
    Erasing page at address 0x3D000.
    Erasing page at address 0x3E000.
    Erasing page at address 0x3F000.
    Erasing page at address 0x40000.
    Erasing page at address 0x41000.
    Erasing page at address 0x42000.
    Erasing page at address 0x43000.
    Erasing page at address 0x44000.
    Erasing page at address 0x45000.
    Erasing page at address 0x46000.
    Erasing page at address 0x47000.
    Erasing page at address 0x48000.
    Erasing page at address 0x49000.
    Erasing page at address 0x4A000.
    Erasing page at address 0x4B000.
    Erasing page at address 0x4C000.
    Erasing page at address 0x4D000.
    Erasing page at address 0x4E000.
    Erasing page at address 0x4F000.
    Erasing page at address 0x50000.
    Erasing page at address 0x51000.
    Erasing page at address 0x52000.
    Erasing page at address 0x53000.
    Erasing page at address 0x54000.
    Erasing page at address 0x55000.
    Erasing page at address 0x56000.
    Erasing page at address 0x57000.
    Erasing page at address 0x58000.
    Erasing page at address 0x59000.
    Erasing page at address 0x7D000.
    Erasing page at address 0x7E000.
    Erasing page at address 0x7F000.
    WARNING: A UICR write operation has been requested but UICR has not been
    WARNING: erased. Please verify that the result is correct.
    Applying system reset.
    Checking that the area to write is not protected.
    Programming device.
    

    C:\>nrfjprog -r
    Applying system reset.
    Run.


    Please observe
    Erasing page at address 0x59000.
    Erasing page at address 0x7D000.
    Which is actually correct.
    But then, it is empty page at 0x65000.

    C:\>nrfjprog --memrd 0x65000 --n 0x1000
    0x00065000: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    0x00065010: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    0x00065020: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    0x00065030: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    ...
    ...
    ...
    0x00065FB0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    0x00065FC0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    0x00065FD0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    0x00065FE0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    0x00065FF0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
    
    C:\>
    

    Sequence or Erasing & Programming hex 1 or 2 does not matter. it was the same effect.

  • Can you provide the .hex files so I can try to replicate it here? I can make this ticket private if you don't want to post it publically. 

  • Sure please ... Hex file would like to send privately. 

Related