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-ARM™ and IAR™toolchains 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).
|DB2641: Proprietary code read-out protection (PCROP),software expansion for STM32Cube||2.0||134 KB|
|AN4701: Proprietary code read-out protection on microcontrollers of the STM32F4 Series||3.0||893 KB|
|AN4758: Proprietary code read-out protection on microcontrollers of the STM32L4 series||1.2||1017 KB|
|STM32 Open Development Environment Brochure||15.10||4 MB|
|SLA0048: Mix Liberty + OSS + 3rd- party V1 - SOFTWARE LICENSE AGREEMENT||2.18||112 KB|
|Part Number||Software Version||Supplier|