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

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

3天内不再提示

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

jf_pJlTbmA9 来源:STM32单片机 作者:STM32单片机 2023-09-28 17:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、引言

实际工程中如果需要对 MCU 的 option bytes 进行修改,可以有以下几种方式:

• 通过 STLINK-Utility 或是 CubeProgrammer 图形化工具进行配置

• 通过 ST-LINK_CLI.exe 命令行的方式进行配置

• 通过应用代码中软件修改寄存器的方式进行配置

以上的方式中前两种都需要脱离 KEIL 或是 IAR 的开发环境进行操作,在实际项目的开发阶段可以使用,但是到量产阶段由于多了一道工序,增加了成本与出错的风险;通过应用代码软件修改的方式在一定程度上也是增加了软件的复杂度。

如果客户使用 KEIL 作为软件开发环境,则存在一种更简单的方式,就是使用 opt.s 文件,采用该方法可以与应用工程融合在一起,一步完成 option bytes 的配置。

2、opt.s 文件介绍

Opt.s 文件存在于 KEIL 的开发包中,以 F3 系列 MCU 为例,可以在如下的路径中找到。

1666769955539036.png

打开该文件后,可以看到如下部分截图,类似汇编语言的方式对变量进行赋值,其实也就是对 option bytes 中的各个关键变量进行赋值操作。

1666769964550170.png

3、通过 opt.s 配置 option bytes

通过 opt.s 修改 option bytes 只能在 KEIL 开发环境下进行,接下来在 STM32F334R8 为例说明。

Step 1:新建或是任意打开一个基于 STM32F334R8 的工程,这里直接使用 CubeMx 例程中STM32F334R8-Nucleo 下的 GPIO_IOToggle 例程。

Step 2:将 STM32F3xx_OPT.s 添加到功能目录中,如下:

1666769978991580.png

Step 3:双击打开 STM32F3xx_OPT.s 文件,如下图所示。KEIL 提供了两种编辑方式,如果对.s 文件的编程方式以及 option bytes 变量的每个 bit 都非常熟悉的话,可以直接在 text editor 下对.s 文件中进行修改;更加简单的方式是直接在 Configuration Wizard 下进行配置。建议采用后面一种配置方式,更加简单明了。

1666769990265882.png

Step 4:Configuration Wizard 下修改配置,比如将 RDP 由 level 0 更改为 level 1 并保存修改,此时可以通过 Text Editor 查看对应的 RDP 的值也变了。

1666770001104499.png

Step 5:重新编译工程,可以看到 opt.s 文件被直接编译到应用工程中。

1666770021261625.png

Step 6:将生成的烧录文件直接下载到目标板中。此时需要注意的是,在烧录前一定要将对应的 Flash options 的烧录算法添加到 Programming Algorithm 中,如下所示,完成后直接连接目标板进行烧录即可。

1666770028703345.png

完成以上的操作后,可以对上述进行的 option bytes 的修改进行验证,可以直接打开CubeProgrammer 读取目标板的 option bytes,得到的结果如下图所示,可以看到,RDP 的结果与上述配置一致。

1666770039746029.png

4、小结

通过将 opt.s 文件添加到工程中实现 option bytes 的配置,好处是将配置融合到烧录文件中,不需要通过其他工具或是在应用代码中去操作 option bytes,简化量产过程中的烧录工序。但是目前该方法不是所有的 MCU 型号都适用,例如对 G4 双 Bank 系列就存在问题,需要等待官方提供适合双 Bank 的 option bytes 的烧录算法与 opt.s 文件。

来源:STM32单片机

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • keil
    +关注

    关注

    69

    文章

    1231

    浏览量

    173116
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OPT3002光数字传感器:特性、应用与设计要点

    OPT3002光数字传感器:特性、应用与设计要点 电子设计领域,传感器的性能往往对整个系统的表现起着关键作用。今天我们来深入探讨一下德州仪器(TI)的OPT3002光数字传感器,它为光测量应用带来
    的头像 发表于 02-12 15:10 449次阅读

    OPT3006:超小型环境光传感器的卓越之选

    的使用体验。OPT3006作为一款超小型环境光传感器,凭借其众多出色的特性,众多应用场景脱颖而出。 文件下载: opt3006.pdf
    的头像 发表于 02-12 14:40 294次阅读

    OPT3001-Q1环境光传感器:功能特性与设计应用解析

    OPT3001-Q1环境光传感器:功能特性与设计应用解析 电子设备的设计,环境光传感器起着至关重要的作用,它能够感知周围环境的光照强度,为设备的自动化控制和优化提供数据支持。今天我们要介绍
    的头像 发表于 02-12 13:50 384次阅读

    OPT3007:超薄环境光传感器的设计指南

    OPT3007:超薄环境光传感器的设计指南 如今追求极致轻薄与智能体验的电子设备时代,环境光传感器成为了众多产品不可或缺的关键组件。今天,我们将深入探讨德州仪器(TI)推出的 OPT
    的头像 发表于 02-12 11:25 415次阅读

    OPT4001:高速高精度数字环境光传感器的卓越之选

    OPT4001 这款高速、高精度的数字环境光传感器。 文件下载: opt4001.pdf 一、产品特性 1. 高精度与高速转换 OPT4001 具备高精度、高速的光到数字转换能力,
    的头像 发表于 02-11 13:45 447次阅读

    OPT4060 高速高灵敏度 RGBW 颜色传感器:设计与应用指南

    OPT4060 高速高灵敏度 RGBW 颜色传感器:设计与应用指南 电子设计领域,颜色传感器扮演着越来越重要的角色,尤其是需要精确测量光线颜色和强度的应用。TI(德州仪器)推出
    的头像 发表于 02-11 10:45 324次阅读

    OPT4003-Q1:高性能数字环境光传感器的深度解析

    OPT4003-Q1:高性能数字环境光传感器的深度解析 电子设备的设计,环境光传感器扮演着至关重要的角色,它能感知周围环境的光照强度,为设备提供智能化的光照调节功能。今天我们要深入探讨
    的头像 发表于 02-11 10:35 257次阅读

    keil (MDK)的IDE支持包*.pack文件如何打开?

    使用Keil软件过程,对于特定型号的MCU,需要安装对应的器件型号支持包,这个文件类型是*.pack。 由于我之前将Keil安装在D盘
    发表于 01-20 08:24

    如何在Keil设置窗口标题颜色和背景颜色呢?

    如何在Keil设置窗口标题颜色和背景颜色呢
    发表于 12-10 07:56

    请问Keil的map文件到底是什么意思?

    Keil的map文件到底是什么意思?里面是如何进行相关执行操作的
    发表于 11-25 06:59

    KEIL如何输出bin文件

    可以通过Keil自带的fromelf工具将编译生成的.axf文件转换为.bin文件。 1、打开工程设置 Project → Options
    发表于 11-20 06:51

    Keil中使用J-Link attach到正在运行的代码

    一、设置验证变量 使用 SDK 例程 igpio_led_output,为了便于验证,定义全局变量 count, while(1) 累加。 图 1 二、设置
    发表于 11-19 06:54

    Keil5查看栈大小

    为需要的大小,然后保存并重新编译工程,新的栈大小即可生效。 2、查看.map文件: 方法说明:Keil MDK编译工程后,会生成一个.map
    发表于 11-14 06:32

    下载显示skipped 51200 bytes是为什么?

    使用dap-link,编译显示成功,下载没有显示报错,但是显示 Erased 0 bytes (0 sectors), programmed 0 bytes (0 pages), skipped 51200 bytes (5
    发表于 09-24 07:41

    通过Keil打开RASC的FSP配置器界面

    双击Keil工程文件“EBF_RA6M5.uvprojx”,打开该Keil工程。
    的头像 发表于 05-21 13:54 1670次阅读
    <b class='flag-5'>通过</b><b class='flag-5'>Keil</b>打开RASC的FSP配置器界面