KB: Unlock IP protection for RSL10 sleep applications

Question

What’s the procedure to unlock IP protection for a sleep application?

Answer

Instructions for unlockubg the IP protection through JTAG are found in the RSL10 Hardware Reference (section 3.3 IP Protection). But some users have had no success when following those instructions for sleep applications.

The root cause of this is that the sleep state blocks the access to JTAG.

Here are some workaround suggestions for this problem:

  1. Use a DIO input with pull-up to preventing your device going into sleep mode when it is pulled down. (This is DIO12 in most of our sample projects.)

  1. Connect TMS to a DIO input on the board, and detect activity with a GPIO interrupt; in case of activity, wait (with a timeout) before going into sleep mode.

  1. Connect the JTAG interface with nRESET. Before flashing, the JTAG will set nRESET to low, causing the chip to leave sleep mode.

NOTE:

If using the JTAG locking mechanism, with the current implementation of Sys_PowerModes_Sleep_Init and Sys_PowerModes_Sleep_Init_2Mbps in rsl10_sys_power_modes.c , the device will become unlocked when returning from sleep mode.

To fix this, the Sys_PowerModes_Sleep_Init and Sys_PowerModes_Sleep_Init_2Mbps routines in rsl10_sys_power_modes.c must have the following code added to them: