方法1:代码加密

FLASH_OBProgramInitTypeDef OBInit;
__HAL_FLASH_PREFETCH_BUFFER_DISABLE();
HAL_FLASHEx_OBGetConfig(&OBInit);
if(OBInit.RDPLevel == OB_RDP_LEVEL_0)
{
OBInit.OptionType = OPTIONBYTE_RDP;
OBInit.RDPLevel = OB_RDP_LEVEL_1;
(void)HAL_FLASH_Unlock();
(void)HAL_FLASH_OB_Unlock();
(void)HAL_FLASHEx_OBProgram(&OBInit);
(void)HAL_FLASH_OB_Lock();
(void)HAL_FLASH_Lock();
}
__HAL_FLASH_PREFETCH_BUFFER_ENABLE();

方法2:STVP 命令行加密

1)如下图配置后,save as lock.hex

STM32固件加密

2)通过stvp界面或命令行烧写业务固件(fw.hex)。

STVP_CmdLine -port=USB -BoardName=ST-LINK -Device=stm32L073xB -ProgMode=SWD  -progress -no_warn_protect -no_loop -FileProg=fw.hex 

3)通过stvp界面或命令行烧写OPTION BYTE(lock.hex)。

STVP_CmdLine -port=USB -BoardName=ST-LINK -Device=stm32L073xB -ProgMode=SWD  -progress -no_warn_protect -no_loop -FileOption=lock.hex 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2021-08-07
  • 2021-05-07
  • 2022-12-23
猜你喜欢
  • 2021-03-31
  • 2021-10-03
  • 2021-10-15
  • 2022-12-23
  • 2022-01-17
  • 2021-11-14
相关资源
相似解决方案