X-CUBE-PCROP:Proprietary code read-out protection (PCROP) software expansion for STM32Cube (AN4701 and AN4758)

The goal of this firmware (X-CUBE-PCROP) is to illustrate a practical usage of the PCROP protection feature on the microcontrollers of the STM32F4 and STM32L4 series.

The firmware is provided with two projects: the Project 1 called STEP1-ST_Customer_level_n, and the Project 2 called STEP2-ST_Customer_level_n+1.

STEP1-ST_Customer_level_n shows how an ST customer level n can generate an execute-only IP-Code (using compiler options), place it in a preferred flash sector, protect it using PCROP, generate the IP-Code related files, such as the header file and the symbols definition file, to be provided to ST customer level n+1. This project includes two project configurations: PCROP-IP-Code-XO and PCROP-IP-Code.

In the PCROP-IP-Code-XO configuration the compiler is configured to generate an execute-only IP-Code, avoiding any data read from it (avoiding literal pools and branch tables).

In the PCROP-IP-Code configuration no special compiler option is used, it is just for testing purposes to show that, avoiding data in code (like literal pools and branch tables) is mandatory for PCROP-ed codes.

The second project STEP2-ST_Customer_level_n+1 shows an example of how an ST Customer level n+1 having a preprogrammed STM32F4xx or STM32L4xx with a PCROP-ed IP-Code, can create his own end-user application, using these protected IP-Code functions.

The used application is the FIR filter example, provided in CMSIS library and the example is provided with Keil® MDK-ARMand IARtoolchains and can be easily ported to any other toolchain.

For more details on PCROP implementation in STM32F4xx and STM32L4xx microcontrollers, refer to Proprietary code read-out protection on microcontrollers of the STM32F4 series, Application Note (AN4701) and to Proprietary code read-out protection on microcontrollers of the STM32L4 series, Application Note (AN4758).

Key Features

  • PCROP
  • Read Protection
  • Write Protection
Product Specifications
DescriptionVersionSize
DB2641: Proprietary code read-out protection (PCROP),software expansion for STM32Cube2.0134 KB
Application Notes
DescriptionVersionSize
AN4701: Proprietary code read-out protection on microcontrollers of the STM32F4 Series3.0893 KB
AN4758: Proprietary code read-out protection on microcontrollers of the STM32L4 series1.21017 KB
Brochures
DescriptionVersionSize
STM32 Open Development Environment Brochure15.104 MB
License Agreement
DescriptionVersionSize
SLA0048: Mix Liberty + OSS + 3rd- party V1 - SOFTWARE LICENSE AGREEMENT2.18112 KB
Get Software
Part NumberSoftware VersionSupplier
X-CUBE-PCROP2.0.0ST
Proprietary code read-out protection (PCROP),software expansion for STM32Cube X-CUBE-PCROP
Proprietary code read-out protection on microcontrollers of the STM32F4 Series X-CUBE-PCROP
Proprietary code read-out protection on microcontrollers of the STM32L4 series X-CUBE-PCROP
Getting started with X-CUBE-SPN6, low voltage stepper motor driver software expansion for STM32Cube X-CUBE-SPN6
Mix Liberty + OSS + 3rd- party V1 - SOFTWARE LICENSE AGREEMENT STSW-STM32019