STM32 调整重启电压阈值 BOR

        STM32 支持调整重启电压阈值,即 BOR。重启电压阈值指的是,如果电源电压低于此阈值,则 MCU 进入复位状态。有三个级别可以设置,level 1、level 2、level 3。以 STM32F412RE 为例,level 1 对应 2.13V、level 2 对应 2.44V、level 3 对应 2.75V。

        此设置配置在 MCU 内部 FLASH 中的选项字中,地址为 0x1FFFC000:

         我们可以通过 FLASH 选项字控制寄存器 FLASH_OPTCR 读取和设置 BOR 的值,STM32 库也提供了读取与设置的相关接口,代码如下:

    FLASH_OBProgramInitTypeDef OBInit;
    HAL_FLASHEx_OBGetConfig(&OBInit);

    if (OBInit.BORLevel != OB_BOR_LEVEL3) {
        OBInit.BORLevel = OB_BOR_LEVEL3;
        HAL_FLASH_OB_Unlock();
        HAL_FLASHEx_OBProgram(&OBInit);
        HAL_FLASH_OB_Launch();
        HAL_FLASH_OB_Lock();
    }

### STM32CubeProgrammer OB界面功能详解 STM32CubeProgrammer 是 STMicroelectronics 提供的一款用于配置和编程 STM32 微控制器的工具。其 Option Bytes (OB) 界面允许用户设置微控制器的各种选项字节,这些字节控制芯片的行为并提供额外的安全性和功能性支持。 以下是 STM32CubeProgrammer 中 OB 界面各主要功能的具体作用: #### 1. **RDP Level (Readout Protection)** 读保护级别决定了设备闪存中的数据是否可以被外部访问。通常有三个级别的 RDP 设置:Level 0(无保护)、Level 1(部分保护)以及 Level 2(完全保护)。当启用更高水平的读保护时,可能会限制调试接口的功能甚至禁用它[^1]。 ```plaintext // 示例代码展示如何通过命令行设置 RDP level ST-LINK> option rdp_level=1 ``` #### 2. **User Options** 这部分包含了多个独立位开关,用来定义特定行为如 IWDG 的冻结状态、停止模式下的 SRAM 清零等操作。具体来说: - `nSWBOOT0` 和 `nBOOT0`: 控制启动方式的选择。 - `IWDG_SW/_HW`: 决定看门狗是软件还是硬件实现。 - `SRAM_Parity_Enable`: 启动 SRAM 奇偶校验检测机制[^2]. #### 3. **PCROP Configuration (Proprietary Code Read Out Protection)** 该区域设定旨在防止某些内存范围内的程序被执行或复制出去。一旦激活 PCROP 功能,则指定地址区间将受到严格管控,任何试图非法获取其中内容的动作都将失败[^3]。 #### 4. **WPR & WRPA Settings (Write Protect Registers/Areas)** 写保护寄存器或者区域能够阻止对选定存储区块执行擦除与重写动作。这有助于锁定关键参数不被意外修改,从而提高系统的可靠性[^4]。 #### 5. **BOR Levels (Brown-Out Reset)** 棕色掉电复位阈值调整使得 MCU 能够依据实际需求响应电源电压下降情况作出反应。不同等级对应不同的最低工作电压界限,在低于此限界时触发系统重启以保障正常运作[^5]。 #### 6. **Security Bit Management** 安全比特管理涉及解锁过程以及恢复出厂设置等功能。如果之前设置了高强度的防护措施比如最高级别的 RP 或者启用了 PCROP ,那么可能需要特殊的流程来清除这些限制以便重新开发调试产品[^6]。 以上就是关于 STM32CubeProgrammer OB 界面上各项重要特性的解释说明。每项特性都提供了灵活定制的可能性,满足多样化的项目需求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stone8761

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值