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

查看: 6912|回复: 2

【实战经验】STM32L011x和STM32L021x启动模式注意事项

[复制链接]

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2016-8-30 15:22:00 | 显示全部楼层 |阅读模式

STM32L011x/021x启动模式注意事项



前言
      针对客户在STM32L011D4P6应用开发过程中,碰到的启动模式问题进行了分析。并且根据问题,介绍开发工具、烧录工具中如何配置以避免影响。

一 问题描述
      发现尽管已经为Boot0引脚提供了低电平,在利用STVP进行烧录时,需要先利用串口发送0x7F信息(收到0x79回应),然后才能正常连接。同时,利用MDK-ARM开发工具时,同样无法直接正确识别STM32L011D4P6。调试器设置界面如下所示:
1.png


二 问题分析
       通过问题的描述,可以判断出在上电后,STM32L011D4P6进入了自举程序模式(详细内容参见AN3155)。查看STM32L011D4P6启动模式配置,如下图所示:
2.png

       在Boot0脚为低电平时,根据Boot配置应该进入Flash program memory (STM32L011D4P6没有nBOOT_SEL)。 通过问题所描述的方式利用STVP读出Option byte如下所示:
3.png


       为什么在这种配置情况,依然进入System memory。最终确认为STM32L011x/021x采用了一种有别于STM32L0系列中其他微控制器的启动配置机制。
具体为:包括了空检测标志,用以在Boot0为低电平,配置为从Flash program memory启动时,判断Flash program memory中是否含有有效用户程序,如何没有,则会引导进入自举程序(从System memory中执行),以便对Flash memory进行编程。
       询问客户得知出现这种问题的STM32L011D4P6之前没有烧录过用户程序。在Flash memory中烧录用户程序后,问题消失。

三 开发工具配置
       针对这种启动机制,在软件开发工具(例如MDK-ARM, IAR for ARM)中,需要对SWD调试/编程设置进行配置,并且需要连接STM32L011x/021x的Reset引脚。这样配置,能够避免微控制器进入Bootloader中,而引起的SWD调试/编程器连接通信时,出现冲突,无**常连接的情况。
ST-Link utility对应的配置(配置位置:Target\Setting)如下所示:
4.png


       MDK-ARM 对应的配置(配置位置 : Project\Option\Debug\Setting)如下所示:
5.png


       IAR for ARM对应的配置(配置位置:Project\Option\ST-Link)如下所示:
6.png

四 总结
       STM32L011x/021x相对于STM32L0系列其他微控制器,提供了空检测机制,能够在Flash program memory中用户程序无效时,自动从Flash启动进入到System memory中的自举程序。需要注意,在实际开发中,为调试/编程器提供Reset的连接,并对调试/编程器进行配置,以便正常实现调试/编程功能。



回复

使用道具 举报

100

主题

3617

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2016-8-31 09:57:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

初级会员

最后登录
2018-6-1
发表于 2017-11-1 10:29:26 | 显示全部楼层
MDK jlink设置里没有HW RESET选项怎么办?所有选项都试过,都显示Erase Failed!
QQ图片20171101102425.jpg
QQ图片20171101102442.jpg
回复 支持 反对

使用道具 举报

关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版