完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一 问题描述 发现尽管已经为Boot0引脚提供了低电平,在利用STVP进行烧录时,需要先利用串口发送0x7F信息(收到0x79回应),然后才能正常连接。同时,利用MDK-ARM开发工具时,同样无法直接正确识别STM32L011D4P6。调试器设置界面如下所示: 二 问题分析 通过问题的描述,可以判断出在上电后,STM32L011D4P6进入了自举程序模式(详细内容参见AN3155)。查看STM32L011D4P6启动模式配置,如下图所示: 在Boot0脚为低电平时,根据Boot配置应该进入Flash program memory (STM32L011D4P6没有nBOOT_SEL)。 通过问题所描述的方式利用STVP读出Option byte如下所示: [size=0.83em]3.png (82.51 KB, 下载次数: 0) 下载附件 [color=rgb(153, 153, 153) !important]半小时前 上传 为什么在这种配置情况,依然进入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对应的配置(配置位置:TargetSetting)如下所示: MDK-ARM 对应的配置(配置位置 : ProjectOptionDebugSetting)如下所示: IAR for ARM对应的配置(配置位置:ProjectOptionST-Link)如下所示: |
|
|
|
|
|
四 总结
STM32L011x/021x相对于STM32L0系列其他微控制器,提供了空检测机制,能够在Flash program memory中用户程序无效时,自动从Flash启动进入到System memory中的自举程序。需要注意,在实际开发中,为调试/编程器提供Reset的连接,并对调试/编程器进行配置,以便正常实现调试/编程功能。 |
|
|
|
|
|
726 浏览 0 评论
777 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
680 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1149 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1120 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11800 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 06:02 , Processed in 1.026722 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号