cancel
Showing results for 
Search instead for 
Did you mean: 

is RDP LEVEL 1  Enough?

Natali
Associate III

hi

please only ST Employee answer this question

i use  this code for enable RDP LEVEL 1  for STM32H743 and STM32F407

Can this code alone protect the program in the flash from any type of attack to read the program in the microcontroller?
Will it be possible to read the program through the bootloader or the program in the sram?

FLASH_OBProgramInitTypeDef OBInit;

OBInit.OptionType = OPTIONBYTE_RDP;
OBInit.RDPLevel = OB_RDP_LEVEL_1;

HAL_FLASH_OB_Unlock();
HAL_FLASH_Unlock();

HAL_FLASHEx_OBProgram(&OBInit);

HAL_FLASH_OB_Launch();
HAL_FLASH_OB_Lock();

HAL_FLASH_Lock();

 

1 REPLY 1
Jocelyn RICARD
ST Employee

Hello @Natali ,

When you enable RDP Level 1 the content of the flash is protected from reading from bootloader and from JTAG connection.

You can still attach to the target with JTAG and read the content of the RAM. So, if the firmware copies code in RAM this can be read with JTAG.

Best regards

Jocelyn