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

Can not enter application after readback protect?

Hi ,

I wirte a python script to download FW to nRF52832 custom board, the FW is the merged file with softdevice(s132_nrf52_7.0.1_softdevice.hex), bootload, bootload settings, and application,  then setting readback protect. 

After setting readback protect, our board just advertising DfuTarg,it seems enter bootload, didn't enter application.

the python script is as follows,

api = LowLevel.API("NRF52")
sleep(1)
try:
api.open()
api.connect_to_emu_with_snr(jlink_serial, swd_speed)

# Program the parsed hex into the device's memory.
test_program = Hex.Hex(hex_file_path)
print("Writing %s to device..." % hex_file_path)

for segment in test_program:
api.write(segment.address, segment.data, True)

api.sys_reset()
api.go()
api.readback_protect(2) # or api.write_u32(0x10001208, 0x00,True)

api.pin_reset()
api.close()

If I comment out api.readback_protect(2),our board can enter application and works ok .
In addtion, I download the same FW with nRF connect Programmer, our board can enter application and works ok.
I download another FW, which is merge file with eddystone example,bootload,softdevice, and bootload settings,
it has the same problem,always enter the bootload, attached please find this FW.
1602.ed_sd_bl_set_app.hex
Please help analyze the reason, thank you very much.








Parents
  • Hi,

    It should not make any difference if readback protection is enabled or not. I also did not manage to replicate this with the hex file you uploaded. Your script looks to be correct, but could you try and see if you get the same result if you use nrfjprog as well?

    I used the following commands (nrfjprog version 10.10.0 + JlinkARM.dll 6.84a):

    $ nrfjprog --program 1185.ed_sd_bl_set_app.hex --chiperase -r
    Parsing hex file.
    Erasing user available code and UICR flash areas.
    Applying system reset.
    Checking that the area to write is not protected.
    Programming device.
    Applying system reset.
    Run.

    $ nrfjprog --rbp all
    Protected the device against read and debug. Only a --recover, --debugreset,
    or --pinreset operations will work from now on.

    $ nrfjprog --pinreset
    Applying pin reset.

Reply
  • Hi,

    It should not make any difference if readback protection is enabled or not. I also did not manage to replicate this with the hex file you uploaded. Your script looks to be correct, but could you try and see if you get the same result if you use nrfjprog as well?

    I used the following commands (nrfjprog version 10.10.0 + JlinkARM.dll 6.84a):

    $ nrfjprog --program 1185.ed_sd_bl_set_app.hex --chiperase -r
    Parsing hex file.
    Erasing user available code and UICR flash areas.
    Applying system reset.
    Checking that the area to write is not protected.
    Programming device.
    Applying system reset.
    Run.

    $ nrfjprog --rbp all
    Protected the device against read and debug. Only a --recover, --debugreset,
    or --pinreset operations will work from now on.

    $ nrfjprog --pinreset
    Applying pin reset.

Children
No Data
Related