How can we protect the code with a secret key?

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

How can we protect the code with a secret key?

1,042 Views
doini
Contributor III

Hello,

I just wonder, the CRP for LPC microcontrollers is a certain number to be written at a certain memory location, and this number is not secret, it is the same for all projects.

How can we protect the code with a secret key?

0 Kudos
1 Reply

636 Views
soledad
NXP Employee
NXP Employee

Hi,

In the LPC1800 and LPC4300 flash based devices when CRP is enabled, three different security levels are available. Each mode increases the security level, with CRP3 restricting any further access to the device.

  • Code Read Protection disabled. When CRP is disabled, JTAG access is not restricted and no level of security is available to protect user code. It is possible to program, read, write, and erase flash content.
  • Code Read Protection Level 1 (CRP1). When CRP1 is enabled, JTAG access is blocked and it is not possible to read, write, or erase flash content. When ISP is enabled, flash content cannot be read but partial flash updates can be performed.
  • Code Read Protection Level 2 (CRP2). The CRP2 level of security restricts unauthorized users from updating the flash partially or modifying the code behavior. When CRP2 is enabled, no section of the code can be modified or updated without erasing all of the existing flash content. In CRP2 as in CRP1, the flash is read-protected.

Please check the below application note:

https://www.nxp.com/docs/en/application-note/AN11581.zip 

I hope this helps,

Have a great day,
Sol

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

0 Kudos