“
关键词:双bank,option bytes
1、引言
客户使用 stm32g474 系列芯片,在烧录应用程序的同时要对 option bytes 中的 dbank 进行修改,采用 stlink utility 或是 cubeprogrammer 工具进行操作,并希望整个过程只用一次烧 录动作就完成,发现烧录的应用程序无法运行。
2、问题产生及原因分析
stm32g474 系列芯片具有双 bank 功能,且默认情况下 option bytes 中的 dbank =1,即双 bank 使能。但客户实际的应用是单 bank,所以需要将 dbank 设置为 0,这样客户在使用 utility 或是 cubeprogrammer 工具烧录应用程序时,同时设置 option bytes 中的dbank 为 0。但是当烧录结束后,发现应用程序无法正常运行,需要再次烧录才能运行。
整个烧录的过程,在 utility 中操作如下图所示,通过 target ->automatic mode->option bytes configuration 对 dbank 进行修改,在 file 中选择应用程序文件,然后直接烧录。
在 cubeprogrammer 中操作如下图所示,通过 erasing & programming->automatic mode->option bytes commands,写入修改 dbank 的命令行,在 file 中选择应用程序文件,然后直接烧录。
整个操作流程是正确的,以 cubeprogrammer 为例,整个操作的日志如下,显示所有操作正常完成。
但是仔细阅读日志,可以发现整个操作,首先烧录的是应用程序,然后再进行 option bytes 的修改,也就是说,在烧录应用程序的时候,mcu 依旧是工作在双 bank 模式下,待程序烧录完成,将双 bank 修改为单 bank,注意 dbank 的修改将会改变 flash 的取指方式,如下:
• single bank mode dbank=0: read access of 128 bits
• dual bank mode dbank=1: read access of 64 bits
可以通过单步操作的方式来查看 flash 中内容的区别。在双 bank 模式下烧录程序后,读出flash 内容如下:
对比以上的内容,可以发现由于取指方式的改变,读取的 flash 中内容发生了变化,后者出现了大片的空白空间,这也就是此前客户操作方式在完成烧录后程序无法运行的原因。
3、解决方案
通过以上的分析,要实现客户的要求,必须首先对 option bytes 进行修改,将 flash 配置为单 bank 模式后,才能进行应用程序的烧录,但是在 utility 或是 cubeprogrammer 中无法修改其本身的操作时序,无法通过一次操作的方式完成,必须分成两步来完成,即:
• 修改 option bytes 中的 dbank • 烧录应用程序
那么客户最希望的只用一个步骤完成所有的操作是不是没法实现了?别急,st 还提供了另一个工具,st_link cli, 它的操作完全通过命令行的方式来完成。其路径位于 st_link utility在安装目录下,如下:
可以通过 cmd 窗口中直接调用该工具,举个例程如下:
d:st-link utility>st-link_cli.exe -c swd -ob dbank=0 -rst -me -p d: est.hex -v while_programming
以上可以看到 option bytes 首先完成修改,然后让芯片进行 reset,保证新的 option bytes重新加载并生效,最后完成应用程序的烧录。
4、 小结
这里分析了客户使用烧录工具 st link utility 和 stm32cubeprogrammer 同时烧录 option bytes 中的 dbank 设置和应用程序后程序无法正常运行的问题,给出了采用 st-link_cli.exe 工具一次性操作完成 option bytes 与应用程序烧录的解决方案。
the end
原文标题:工程师笔记|stm32g4 应用程序与 option bytes 同时烧录问题
文章出处:【微信公众号:stm32单片机】欢迎添加关注!文章转载请注明出处。
2018深圳国际电子展:班得斯凭借四大优势,立足存储产业!
以独特产品设计竞逐微控制器赛道,ADI低功耗MCU加速物联网应用落地
宁德时代回购股份数量达总股本0.2357% 耗资超亿元
PCB设计的五个关键设计点
realme X2 Pro大师版开启预约,拥有精致logo与大师签名
工程师笔记|STM32G4 应用程序与 Option Bytes 同时烧录问题
南亚科总经理:远距离通信需求能稳住第二季市况
GPS天线原理解析
晶体振荡器的原理及发展趋势
三一重工积极转型 探索工业物联网创新商业模式
医院手术视频监控转播示教系统设计方案
CMOS的NOR门和NAND门
[新邮件] Google I/O 2023 大会精彩视频回顾合集 | 在 I/O 看未来
华为 MateBook X 樱语粉即将开售:3K 触控悬浮全面屏,1kg 重
Voury卓华助力临汾智慧城管项目
iOS14的安装普及率已达26.32%,你升级了吗
瑞萨电子完成对Celeno收购_奇瑞OMODA 5全球首台车正式下线
电机过热怎么办?
怎么远程集中控制空调
可控硅触发电路必须满足的三个主要条件