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 Vidar,

    I haven't see any failures  after you added the delay.  Of course I am using the same J-link debugger I use nrfjprog/nRFconnect. 

    when I use flash script, the SWD speed is 10000kHz.

    What is the default SWD speed when I use nrfjprig/nRFconnect?

    Does SWD speed affect the integrity check and cause this problem? Thank you very much.

    Best regards,

    Susan

  • Hi Susan,

    Ok, thanks for confirming that you were using the same J-link.

    I may be related to the clock speed as you say. The default speed is usually between the 2000 - 4000 kHz, so considerably slower than what your script is using. Could you try lowering the clock speed and see it helps?

    The verification step (checks integrity check of loaded image) you enabled with the high level API should detect any programming errors. Did you check the log to see if pynrfjprog reported any errors?

    Best regards,

    Vidar

Reply
  • Hi Susan,

    Ok, thanks for confirming that you were using the same J-link.

    I may be related to the clock speed as you say. The default speed is usually between the 2000 - 4000 kHz, so considerably slower than what your script is using. Could you try lowering the clock speed and see it helps?

    The verification step (checks integrity check of loaded image) you enabled with the high level API should detect any programming errors. Did you check the log to see if pynrfjprog reported any errors?

    Best regards,

    Vidar

Children
No Data
Related