0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

选项字 stm32

分享:

STM32 的 选项字节(Option Bytes) 是芯片内部一组特殊的配置寄存器,用于设置芯片的硬件特性、安全保护、启动模式等关键参数。以下是关于选项字节的详细说明和常见操作:


选项字节的作用

  1. 读写保护(RDP)

    • 防止外部工具读取或修改 Flash 中的程序(读保护等级 0/1/2)。
    • 等级 1 启用保护,等级 0 关闭保护,等级 2 为永久保护(不可逆)。
  2. 看门狗(WWDG/SWWDG)

    • 配置硬件窗口看门狗是否在芯片复位后自动启用。
  3. 启动模式(Boot Configuration)

    • 设置芯片启动时的存储器来源(如 Flash、系统存储器、RAM 等)。
  4. 其他配置

    • 电压监测、复位引脚功能、Flash 等待周期等。

常用工具修改选项字节

  1. STM32CubeProgrammer

    • 官方工具,支持图形化操作:连接芯片后进入 Option Bytes 标签页修改配置,点击 Apply 生效。
  2. ST-Link Utility

    • 旧版工具,功能类似:通过 Target > Option Bytes 菜单修改。
  3. Keil/IAR

    • 在调试环境中通过插件或脚本修改选项字节。
  4. 命令行工具

    • 使用 STM32_Programmer_CLI 命令行工具,例如:
      STM32_Programmer_CLI -c port=SWD -ob RDP=0xCC  # 关闭读保护

注意事项

  1. 风险提示

    • 错误配置可能导致芯片锁死(如误设 RDP 等级 2)或无法启动,操作前务必确认参数。
  2. 解除读保护

    • 若 RDP 等级 1 已启用,解除保护会触发全片 Flash 擦除。
  3. 参考手册

    • 不同型号 STM32 的选项字节地址和定义可能不同,需查阅对应型号的 Reference Manual(如 RM0008、RM0433 等)。

代码中修改选项字节(示例)

#include "stm32f1xx_hal.h"

void Configure_OptionBytes() {
  HAL_FLASH_Unlock();  // 解锁 Flash
  HAL_FLASH_OB_Unlock(); // 解锁选项字节

  // 设置读保护等级为 0(关闭保护)
  FLASH_OBProgramInitTypeDef obConfig;
  obConfig.OptionType = OPTIONBYTE_RDP;
  obConfig.RDPLevel = OB_RDP_LEVEL_0;
  HAL_FLASHEx_OBProgram(&obConfig);

  HAL_FLASH_OB_Launch(); // 生效配置(触发系统复位)
  HAL_FLASH_Lock();      // 重新上锁
}

遇到具体问题时,建议结合芯片型号、调试工具和错误现象进一步分析!

设置STM8单片机选项的方法

STM8单片机在使用的时候有个问题比较麻烦,就是如果要使用某些引脚的第二功能时需要设置选项,设置选项可以通过代码设置。但是代码设置的时候比较麻烦,需要计算选项相关寄存器要设置的值,如果设置值

fgfFsG 2022-01-27 08:10:32

STM32WB+选项字节如何设置?

对于 stm32wb 闪存操作,我们必须实现 AN5289,第 36 页中描述的图表。选项字节访问如何?我们是否应用了相同的方法,信号量等?或者我们只能使用常规的 HAL 函数?

wang21cj 2023-02-09 08:10:42

STM32符串打印 精选资料分享

STM32符串打印cks32C8T6、stm32c8t6直接复制使用文章目录STM32符串打印源码xxx.c头文件定义xxx.h举例源码xxx.cvoid UART_PutChar

werywer 2021-08-24 06:06:13

MCU CARD 4 FOR STM32 STM32F429NI

MCU CARD 4 FOR STM32 STM32F429NI

2023-03-28 14:46:02

刚开始学stm8,怎么设置的将STVD里面的下载器的选项设置成了读保护

刚开始学stm8,不知道怎么设置的将STVD里面的下载器的选项设置成了读保护,后面每次给stm8芯片烧写程序就显示Error : The device is protected,Operation

60user111 2020-05-20 11:08:25

STM32CubeIDE Ver1.6.0如何添加图像编译选项

环境:STM32CubeIDE Ver1.6.0谢谢你的帮忙。如何添加图像编译选项

klysa 2023-01-05 07:42:37

怎样对STM32标准库的SlaveMode选项进行设置呢

怎样对STM32标准库的SlaveMode选项进行设置呢?有哪些设置步骤?

Wu雨雨雨 2021-11-24 07:51:12

最新的clion 2019是否有stm32cubeMX选项

过SW4STM32和TrueStudio等,但是用eclipse改的软件,总是喜欢不起来.安装了最新的clion 2019之后,突然发现新建工程时竟然有stm32cubeMX的选项!!! 哇噻噻!!...

wrfqwerty 2021-11-08 07:36:15

STM32U5:Makefile选项变灰是为什么?

我正在尝试为适用于 Linux 的 STM32CubeMX 6.5.0 上的 B-U585I-IOT02A 开发板生成 Makefile,Makefile 选项位于:项目经理 -> 项目设置 -> 工具链/IDE,该选项显示为灰色。为什么它被禁用?缺少此功能吗?

60user103 2022-12-12 06:16:53

如何开发与位置无关的 STM32 完整工程

最近有客户询问,能否使用 STM32CubeIDE 在编译时通过设置某个编译选项,让STM32 应用与存储位置无关。

2022-09-15 09:59:23

STM32例程能否与MFC网络套接通信?

如题。。想自己写一个PC上的MFC界面。不要求太高的实时性和过大过高的传输数据量,偶尔一次传输几十节即可,不知道STM32例程能否与MFC网络套接通信。如果可以就入手一套了,另外,例程是裸奔还是在操作系统上跑

蒋jiang 2019-08-02 04:36:40

STM32F407的晶振选型分析

STM32F407的最佳晶振选项

2025-11-07 12:03:28

STM32 HAL库串口是如何实现发送16节数据的

STM32 HAL库串口是如何实现发送16节数据的?STM32 HAL库串口是如何实现发送32节数据的?

kiifwerw 2021-12-02 07:58:01

选项字节中的用户字节地址问题求解

的内存。所以我使用选项字节将一些值保存在内存中,stm32f0 mcu.2 字节只需要存储。我想对这个 stm32g0 mcu 做同样的事情。但是我在选项字节中找不到用户选项 byes。我找到了选项字节

gft2gf2 2022-12-26 06:18:09

GD32 MCU的选项字节是什么?

GD32 MCU的选项字节是什么,有什么功能呢?选项字节被误篡改如何回复?

2024-01-17 09:42:21

STM32MP1部件号具有像STM32MP157C/F这样的安全引导选项吗?

是否可以使用 OTP WORD 24 到 31 而不启用安全引导,STM32MP1 部件号没有像 STM32MP157A/D 这样的安全引导选项?与上述相同,但 STM32MP1 部件号具有像 STM32MP157C/F 这样的安全引导选项

颜刚YanG 2022-12-27 08:56:31

求助,如何恢复STM32h745I-Disco选项字节

我在玩我的 STM32h745I-Disco,并做了一些关于从 CM7 启动和停止 CM4 的测试。但是我不小心弄乱了我的选项字节。我用 CubeProgrammer 禁用了 BCM7 和 BCM4,现在芯片不再启动了。但我也无法连接到嵌入式 ST-Link 来恢复选项字节。

djfldsthtr 2023-02-07 06:05:10

stm32加密方法

STM32Flash组织STM32的Flash包括主存储器(HD版本,512KB)+信息块。信息块包括2KB的系统存储器(用于系统自举启动代码)和16节的选项字节(8个...

1123127317 2021-08-09 06:48:21

STM32F302xB,STM32F302xC数据手册

16位节。  CRC计算单元  重置和供应管理  断电/下电复位(POR/PDR)  可编程电压检测器  低功耗模式:睡眠、停止和待机  时钟管理  4~32 MHz晶体振荡器  32 kHz RTC振荡器的校准  内部8兆赫rc与x16锁相环选项  内40 kHz振荡器

普罗旺斯的薰衣草 2022-11-28 06:26:48

STM32 MCU通过STM32CubeMx配置NVIC怎么没有中断子优先级选项

有些STM32用户,尤其是那些用过基于ARM Cortx-M3/M4/M7内核的STM32 MCU的用户,在使用基于M0/M0+内核的STM32系列并通过STM32CubeMx进行NVIC配置

2023-09-09 09:25:32

如何在STM32L5上访问用于用户配置的选项字节闪存页面呢?

STM32L5 参考手册指出,可通过闪存寄存器接口(第 6.3.1 节)访问“用于用户配置的 4 KB 选项字节”,但没有提供有关如何访问该空间用于用户数据存储的更多详细信息。我在这里发现了一个

IC大当家ac 2022-12-22 07:17:29

如何修改在STM32CubeIde 1.8中的C编译器选项呢?

我使用 STM32CubeIde 1.8。我放了停止点,调试器没有考虑到它们。我假设选择 C ​​编译器选项是为了在繁忙的内存和执行速度级别优化代码。有了这些选项就没有考虑到要点了。如何修改这些选项

kmno4 2022-12-12 07:52:35

STM32091C-EVAL

STM32 STM32 MCU 32-Bit Embedded Evaluation Board

2023-03-22 19:55:50

STM32CubeProgrammer IWGDSTDBY选项字节中的拼写错误怎么解决?

你好,我使用的是 STM32WB55REV,选项字节“IWGDSTDBY”而不是“IWDGSTDBY”中有错字。STM32CubeProgrammer v2.10.0

h1654155143.8331 2022-12-27 07:39:29

STM32F103RCT6

2024-04-30 10:43:57

STM32-PRIMER

STM32-PRIMER - Raisonance STM32 Primers for fun, easy evaluation and development with STM32 - STMicroelectronics

2022-11-04 17:22:44

Graphical Editing选项卡的设置

Graphical Editing选项卡包含原理图图形设计的相关信息。如图2-25所示,进入Graphical Editing选项卡的设置界面,对以下4个选项进行推荐设置,其他采取默认设置即可。

2022-09-30 09:05:37

加载更多
相关标签