Reprogramming after enabling CRP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Reprogramming after enabling CRP

812 Views
andrew_gatt
Contributor I

I am using the LPC1346, I need to enable code protection to prevent the code being read out of flash. I know I can achieve this by writing a specific pattern to 0x02FC. Currently programming is done through the SWD pins, which are the only pins brought out to a connector.

The problem I have is that the datasheet seems to suggest that I can only update the firmware after this by using ISP commands, which I believe means either the UART or USB bootloaders? As the SWD pins are disabled for all levels of protection.

Is there no way to mass erase or otherwise reset a device through the SWD pins? With neither the UART or USB ports brought out to connectors, this would effectively prevent upgrading the device.

Has anyone else had similar issues?

Labels (1)
0 Kudos
1 Reply

675 Views
soledad
NXP Employee
NXP Employee

Hi, 

CRP Level 3 is the highest level supported by the LPC1100/LPC1300 devices. In sophisticated reverse engineering, an intellectual property thief may be able to learn proprietary information about a design by fully erasing and then programming the target device with custom test code and analyzing how the PCB behaves. This would then enable the thief to implement a counterfeit design without ever having read original object code. CRP Level 3 effectively disables ISP functionality1 and SWD, thus the device’s flash memory can no longer be modified. Should there be instances where hardware cannot be allowed to run unauthorized code, CRP Level 3 should be used. Be aware that there is no built-in recovery for designs once CRP Level 3 is enabled. The most simplistic way of implementing a custom recovery mechanism involves the “Re-Invoke ISP” IAP call.

I suggest to check the following application note: 

https://www.nxp.com/docs/en/application-note/AN10968.pdf

Have a great day,
Sol

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos