你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在 KEIL 中通过 opt.s 文件设置 Option Bytes

[复制链接]
STMCU小助手 发布时间:2022-10-31 12:02
1、引言
实际工程中如果需要对 MCU 的 option bytes 进行修改,可以有以下几种方式:
• 通过 STLINK-Utility 或是 CubeProgrammer 图形化工具进行配置
• 通过 ST-LINK_CLI.exe 命令行的方式进行配置
• 通过应用代码中软件修改寄存器的方式进行配置
以上的方式中前两种都需要脱离 KEIL 或是 IAR 的开发环境进行操作,在实际项目的开发阶段可以使用,但是到量产阶段由于多了一道工序,增加了成本与出错的风险;通过应用代码软件修改的方式在一定程度上也是增加了软件的复杂度。
如果客户使用 KEIL 作为软件开发环境,则存在一种更简单的方式,就是使用 opt.s 文件,采用该方法可以与应用工程融合在一起,一步完成 option bytes 的配置。
( }- p# K9 w0 S) N, i2 L

( s0 g8 h9 A5 e4 B& P
2、opt.s 文件介绍
Opt.s 文件存在于 KEIL 的开发包中,以 F3 系列 MCU 为例,可以在如下的路径中找到。

5 D- W( c8 R! u% L4 ~5 ]
微信图片_20221031120154.png
, N; J$ [4 Y4 L/ }( n+ v& }! k
打开该文件后,可以看到如下部分截图,类似汇编语言的方式对变量进行赋值,其实也就是对 option bytes 中的各个关键变量进行赋值操作。
微信图片_20221031120151.png
8 z8 C2 k2 o. q$ n, e% Y

* a2 W  E) J* _# r) f8 V
2、通过 opt.s 配置 option bytes
通过 opt.s 修改 option bytes 只能在 KEIL 开发环境下进行,接下来在 STM32F334R8 为例说明。
Step 1:新建或是任意打开一个基于 STM32F334R8 的工程,这里直接使用 CubeMx 例程中STM32F334R8-Nucleo 下的 GPIO_IOToggle 例程。
Step 2:将 STM32F3xx_OPT.s 添加到功能目录中,如下:
) `1 b+ p/ ?: W2 K
微信图片_20221031120147.png

' P0 s2 j" g1 Y9 [
Step 3:双击打开 STM32F3xx_OPT.s 文件,如下图所示。KEIL 提供了两种编辑方式,如果对.s 文件的编程方式以及 option bytes 变量的每个 bit 都非常熟悉的话,可以直接在 text editor 下对.s 文件中进行修改;更加简单的方式是直接在 Configuration Wizard 下进行配置。建议采用后面一种配置方式,更加简单明了。
* z& ~! P1 ?) n8 w* Q7 g
微信图片_20221031120144.png
1 p2 k# ?, r9 x
Step 4:Configuration Wizard 下修改配置,比如将 RDP 由 level 0 更改为 level 1 并保存修改,此时可以通过 Text Editor 查看对应的 RDP 的值也变了。
微信图片_20221031120138.png
2 g; h8 U7 T" [+ s7 V+ j
Step 5:重新编译工程,可以看到 opt.s 文件被直接编译到应用工程中。
# e0 s1 N$ `+ q7 s: D/ Z
微信图片_20221031120135.png
' g% t+ ]. j* r) W& ?' m
Step 6:将生成的烧录文件直接下载到目标板中。此时需要注意的是,在烧录前一定要将对应的 Flash options 的烧录算法添加到 Programming Algorithm 中,如下所示,完成后直接连接目标板进行烧录即可。
微信图片_20221031120127.png
完成以上的操作后,可以对上述进行的 option bytes 的修改进行验证,可以直接打开CubeProgrammer 读取目标板的 option bytes,得到的结果如下图所示,可以看到,RDP 的结果与上述配置一致。
微信图片_20221031120123.png
" n2 ]+ {4 ^6 E# B6 Z
4、小结
通过将 opt.s 文件添加到工程中实现 option bytes 的配置,好处是将配置融合到烧录文件中,不需要通过其他工具或是在应用代码中去操作 option bytes,简化量产过程中的烧录工序。但是目前该方法不是所有的 MCU 型号都适用,例如对 G4 双 Bank 系列就存在问题,需要等待官方提供适合双 Bank 的 option bytes 的烧录算法与 opt.s 文件。
/ u8 C8 g: ?( d2 V( W' j, h: n! [# c. H% l
转载自:LAT10724 _. Z. M+ `' ~2 {
) Y5 a( M, q  F) }0 t
微信图片_20221031120141.png
收藏 评论0 发布时间:2022-10-31 12:02

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版