专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
ST link 下载问题
2019-07-21 08:55
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
6035
5
1382
之前ST link下载了一个程序,然后板子就下不了程序了,换了Jlink也下载不了,应该是板子的问题,怎么解决啊,板子复位可以吗,怎么复位呀
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
fang百川
1楼-- · 2019-07-21 11:15
自己在网上找了一下资料,如果硬件晶振和软件写的时钟不对应的话,可能造成芯片自锁(好像是,反正就是不能下载程序了),这个时候需要对Boot0和Boot1电平外接,具体如下
[mw_shl_code=c,true]在每个STM32​的芯片上都有两个管脚BOOT0和BOOT1, 这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
要注意的是,一般不使用内置SRAM启动(BOOT1=1 BOOT0=1), 因为SRAM掉电后数据就丢失。
多数情况下SRAM只是在调试时使用,也可以做其他一些用途。
如做故障的局部诊断,写一段小程序加载到SRAM中诊断板上的其他电路,或用此方法读
写板上的Flash或EEPROM等。 还可以通过这种方法解除内部Flash的读写保护,当然解除读写保护的同时Flash的内容也被自动清除,以防止恶意的软件拷贝。
一般BOOT0和BOOT1跳线都跳到0(地)。
只是在ISP下载的情况下,BOOT0=1,BOOT1=0 , 下载完成后,把BOOT0的跳线接回
0,也即BOOT0=0,BOOT1=0 。[/mw_shl_code]
然后我的接法就是BOOT0=1,BOOT1=0.重新下载一个时钟正常的程序,后续就可以继续使用下载了,然后把Boot0和Boot1跳线去掉
加载中...
1208
2楼-- · 2019-07-21 15:57
精彩回答 2 元偷偷看……
加载中...
囯哥电子
3楼-- · 2019-07-21 19:14
我碰到过一次这样的问题,用的是下载时按住复位键的办法解决了,希望你也能用上。
加载中...
DreamWaterPro
4楼-- · 2019-07-21 23:42
复位是指单片机的复位,这个……可以参考下3#的解决方案(目测是自己把JTAG口给使用了,造成调试器不能和单片机进行正常通信)。
我之前遇到过类似的问题,可以通过串口下载一个最简单的程序(例如就是让板载LED一闪一闪地闪烁),下载完成之后JTAG口应该就可以使用了。
加载中...
15353920254
5楼-- · 2019-07-22 02:02
上电前按住复位试试,打酱油路过
加载中...
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
[mw_shl_code=c,true]在每个STM32​的芯片上都有两个管脚BOOT0和BOOT1, 这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
要注意的是,一般不使用内置SRAM启动(BOOT1=1 BOOT0=1), 因为SRAM掉电后数据就丢失。
多数情况下SRAM只是在调试时使用,也可以做其他一些用途。
如做故障的局部诊断,写一段小程序加载到SRAM中诊断板上的其他电路,或用此方法读
写板上的Flash或EEPROM等。 还可以通过这种方法解除内部Flash的读写保护,当然解除读写保护的同时Flash的内容也被自动清除,以防止恶意的软件拷贝。
一般BOOT0和BOOT1跳线都跳到0(地)。
只是在ISP下载的情况下,BOOT0=1,BOOT1=0 , 下载完成后,把BOOT0的跳线接回
0,也即BOOT0=0,BOOT1=0 。[/mw_shl_code]
然后我的接法就是BOOT0=1,BOOT1=0.重新下载一个时钟正常的程序,后续就可以继续使用下载了,然后把Boot0和Boot1跳线去掉
我之前遇到过类似的问题,可以通过串口下载一个最简单的程序(例如就是让板载LED一闪一闪地闪烁),下载完成之后JTAG口应该就可以使用了。
一周热门 更多>