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

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

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

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

6 L+ [5 M0 e/ Y3 Y9 S# o& [
烧录方法
5 `: C4 B0 z5 y/ k9 m
     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所在的安装目录。默认的目录如下

$ ~! ~" q9 V# f% g. F5 J
4.2.jpg
0 t# C' H! p) L! \, q$ Y
4.3.jpg
3.验证环境变量是否添加成功。打开CMD命令提示符,输入“STM32_Programmer_CLI-version”,显示如下即设置成功
4.4.jpg
- {2 X3 q) |5 p8 I0 U
* {: x, w; J$ H0 W5 a+ n
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算法文件所带来的麻烦。
) O# ~$ z+ h+ b; X
% u) v* _4 j; ?4 _* Y# B; |( @( h) {
赞 收藏 1 评论1 发布时间:2020-12-17 10:33

举报

1个回答
STMCU小助手 回答时间:2020-12-17 11:06:09
提示: 作者被禁止或删除 内容自动屏蔽
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版