c - STM32F107 通过代码 HAL 进行读出保护
问题描述
我想启用正常的读出保护,目前我在 ST Link Utility 中执行此操作,但更好的是在代码中。我找到了一些旧的代码片段,它们适用于旧的 Std Lib,而不是 HAL:
if (FLASH_OB_GetRDP() != SET) {
FLASH_OB_Unlock();
FLASH_OB_RDPConfig(OB_RDP_Level_1);
// Start the Option Bytes programming process
if (FLASH_OB_Launch() != FLASH_COMPLETE) {
// User can add here some code to deal with this error
}
FLASH_OB_Lock();
}
是否有人拥有适用于 HAL Lib 的正确代码?
谢谢!
解决方案
HAL_FLASH_Unlock();
HAL_FLASH_OB_Unlock();
pOBInit_for_readprot.OptionType = OPTIONBYTE_RDP;
pOBInit_for_readprot.RDPLevel = OB_RDP_LEVEL_1;
HAL_FLASHEx_OBProgram(&pOBInit_for_readprot);
HAL_FLASH_OB_Launch();
HAL_FLASH_OB_Lock();
HAL_FLASH_Lock();
有一个对 RDP 进行编程的工作程序。由我的 stm32f4 项目证明。
推荐阅读
- mongodb - 如何在 mongodb 中对聚合中的 $limit 没有限制?
- influxdb - 连接到 InfluxDB 的远程连接被拒绝
- javascript - 在另一个变量中显示数组中可用的所有索引位置?
- angular - 登录后如何在 URL 中传递访问令牌
- css - 如何使用 CSS 为径向渐变设置动画?
- rabbitmq - 如何在连接到rabbitMQ的Spring AMQP中修复AmqpTimeoutException
- jenkins - 每 2 个半小时安排一次 Jenkins 作业
- javascript - 如何过滤嵌套树对象而不丢失javascript中的结构?
- javascript - 为什么当我填写最后一个输入时我的表单会验证,即使所有其他输入都是空的?
- android - 为什么我们在覆盖调用适配器时需要原子布尔值?