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

工程师笔记 | Keil环境下使用外部烧录脚本(stdlr)烧录QSPI

[复制链接]
lili821 发布时间:2020-12-17 10:33
工程师笔记 | Keil环境下使用外部烧录脚本(stdlr)烧录QSPI
Keil环境下
使用外部烧录脚本 (stdlr)

烧录QSPI
前言
随着用户的应用越来越复杂,以及GUI等需要大存储空间应用的流行,很多时候我们需要将代码和数据放在外扩的QSPI存储空间。但是这样存在一个在线QSPI烧写的问题,尤其是在应用调试时,需要频繁的修改外部存储空间里的内容。如果调试工具不能够一键烧录,势必会给调试带来诸多的麻烦。
工具
开发板:STM32F746-DISCO
软件:Keil 5,STM32CubeProgrammerv.2.5.0


烧录方法

     Keil调试环境下,有两种方式进行外部QSPI存储空间的烧录。一种方式是基于FLM算法,制作相应的.flm算法脚本进行烧录。这种方法需要用户熟悉flm算法,并做好相应的函数编写及调试,相对比较麻烦。本文不针对此方法进行讨论。第二种方式就是通过调用第三方的烧录脚本进行烧写,这里指使用ST公司的STM32CubeProgrammer所提供的相应的.stdlr脚本。STM32CubeProgrammer同时提供了许多模板工程,客户可以很方便的制作自定义的的.stdlr脚本,来匹配自己的硬件设计。下面就教大家如何使用已有的.stdlr脚本来烧录外部QSPI。
01
设置环境变量
因为该方式用到了STM32CubeProgrammer的命令行模式,建议先把STM32_Programmer_CLI.exe的目录添加到环境变量,便于操作,否则你在DOS环境下很可能要敲老半天路径才进到该文件所在目录。这里以Win10为例:
1.打开环境变量设置步骤
4.1.jpg
2.添加环境变量为STM32_Programmer_CLI.exe所在的安装目录。默认的目录如下

4.2.jpg

4.3.jpg
3.验证环境变量是否添加成功。打开CMD命令提示符,输入“STM32_Programmer_CLI-version”,显示如下即设置成功
4.4.jpg


02
Keil下载设置
Keil中,我们采用第三方的工具下载的方式进行下载,步骤如下:
1.配置下载工具如下图所示。最后第三步所填写的命令及参数如下
4.5.jpg
命令中的.\F746_LED\F746_LED.hex是工程生成的Hex文件,需要按照所在的工程进行修改。烧录脚本stldr的目录也需要对应的按照实际进行修改。当然,此处可以修改对应的命令来使用不同的接口烧录,或者做一些其他的事情。具体的可以参考STM32CubeProgrammer的使用手册(UM2237)。
STM32_Programmer_CLI会根据F746_LED.hex中的地址信息决定将代码烧录到哪个地址,所以编译F746_LED.hex之前,必须在分散加载文件(*.sct)中说明将代码放到外部QSPI Flash的地址范围。关于如何修改分散加载文件此处就不展开说明了。对于bin文件,可以通过在STM32_Programmer_CLI命令中指明烧录地址来将其烧写到外部QSPI Flash中。命令格式,请参考UM2237。
另外,STM32CubeProgrammer v2.6.0不支持文件路径中有空格。
4.6.jpg
下载结果
4.7.jpg
结论
本文介绍了一种简单的方法,使keil能够利用现有ST提供的.stdlr烧录脚本进行外部存储器的烧写,从而回避自行制作基于keil的flm算法文件所带来的麻烦。


收藏 1 评论1 发布时间:2020-12-17 10:33

举报

1个回答
STMCU小助手 回答时间:2020-12-17 11:06:09
提示: 作者被禁止或删除 内容自动屏蔽

所属标签

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