STM32读保护
使用的GD32F407芯片,然后执行读保护程序后,发现依然可以正常烧录跟调试,烧录日志上显示JLink执行了之前在注册表中保存的默认行为,对设备进行了解锁操作,并成功解锁了设备。这是JLink自动破解了读保护功能吗?咋样才能让他真正实现读保护
HAL_FLASH_OB_Unlock();
// 配置选项字节
FLASH_OBProgramInitTypeDef OBConfig;
OBConfig.OptionType = OPTIONBYTE_RDP;
OBConfig.RDPLevel = OB_RDP_LEVEL_1; // 设置读保护级别
HAL_FLASHEx_OBProgram(&OBConfig);
//// 锁定选项字节寄存器
HAL_FLASH_Lock(); // 锁定 Flash
HAL_FLASH_OB_Lock(); // 锁定选项字节
大部分厂家芯片操作Option byte选项字节后,需要断电复位才会生效
https://www.armbbs.cn/forum.php?mod=viewthread&tid=120182&fromuid=58
(出处: 硬汉嵌入式论坛)
eric2013 发表于 2024-3-14 00:41
大部分厂家芯片操作Option byte选项字节后,需要断电复位才会生效
https://www.armbbs.cn/forum.php?mod=v ...
我断电重新上电,发现还是可以从jflash里面读出来 Thursdays 发表于 2024-3-14 09:07
我断电重新上电,发现还是可以从jflash里面读出来
那你的代码没有设置成功
设置level1读保护,解除读保护后要整片擦除,如果读出来是0xFF,那是正常的。 eric2013 发表于 2024-3-14 09:14
那你的代码没有设置成功
设置level1读保护,解除读保护后要整片擦除,如果读出来是0xFF,那是正常的。
读出来的不是0xFF,跟没有设置读出来的一样,是因为我用GD芯片,但程序库函数用的ST的导致的不兼容吗? Thursdays 发表于 2024-3-16 14:46
读出来的不是0xFF,跟没有设置读出来的一样,是因为我用GD芯片,但程序库函数用的ST的导致的不兼容吗?
对,估计是不兼容。
页:
[1]