Skip to main content
Senior
Mar 28, 2025 4:03 PM UTC
Solved

RDP vs PcROP

Greetings,
I would like to know, in summary, what are the key main differences between RDP (ReadOut Protection) and PcROP (Proprietary Code Readout Protection), which one is safer and use cases.
Thank you!

This topic has been closed for replies.
Jocelyn RICARD
Jocelyn RICARDBest answer
ST Employee
Mar 28, 2025 6:04 PM UTC

Hello @j_filipe ,

the RDP is the main protection to be used to protect your code from read out. It protects all the flash at once.

The PCROP principle is to protect only part of the flash so that it becomes "execute only". This allows providing some library without disclosing the binary. A third party can develop code and jump to the code inside PCROP area. The constraint is that code protected by PCROP cannot read data inside this area. This means you need to use specific compiler option to have no data read but only instructions.

So, 99% chance you only need RDP :)

Best regards

Jocelyn

 

2 replies

mƎALLEm
ST Technical Moderator
Mar 28, 2025 5:10 PM UTC

Hello,

Please refer to the AN4758 "Proprietary code read-out protection on STM32L4, STM32L4+, STM32G4 and STM32WB Series MCUs"

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
Jocelyn RICARD
Jocelyn RICARDBest answer
ST Employee
Mar 28, 2025 6:04 PM UTC

Hello @j_filipe ,

the RDP is the main protection to be used to protect your code from read out. It protects all the flash at once.

The PCROP principle is to protect only part of the flash so that it becomes "execute only". This allows providing some library without disclosing the binary. A third party can develop code and jump to the code inside PCROP area. The constraint is that code protected by PCROP cannot read data inside this area. This means you need to use specific compiler option to have no data read but only instructions.

So, 99% chance you only need RDP :)

Best regards

Jocelyn