Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Can you change the CRP register in LPC12XX when the program is running?

Not open for further replies.


Advanced Member level 1
Jun 5, 2001
Reaction score
Trophy points
Activity points
I would like to set the CRP in not isp programming in a project. But sometime i would like to change the CRP to allowed the bootloader to change the firmware.

Is it possible.

I am using the IAR compiler and LPC1227 MCU.

Thanks in advance.

I was looking for a version of the following appnote for the LPC1200 series, however I was unable to find one.

I hesitate in suggesting a specific approach, due to the fact, once the device is placed in CRP3 mode the device is PERMANENTLY locked UNLESS a custom bootloader CORRECTLY implements the Re-Invoke ISP IAP call.

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.

CAUTION: Although the example used in this application note was carefully tested, it is recommended that the user initially configure the device to a level lower than CRP3. Once the code is successfully tested, CRP3 can be used with confidence.

I would suggest proceeding with extreme caution as indicated by the above quote.

I have also attached a zip archive with a similar appnote and accompanying example code for the LPC17xx series.



    325 KB · Views: 90
Thank you bigdogguru for the post.

I know the application for the LPC17xx sereis.

In this pdf there is a way from a mcu at CPR3 status to be written
View attachment pic 25.bmp

But IAR compiler does not have (or i do not know it) IAP commands.

Not open for further replies.

Part and Inventory Search

Welcome to