搜索
bottom↓
回复: 34

MDK+STM32下载后为啥不能自动运行

[复制链接]

出0入169汤圆

发表于 2019-12-9 10:18:51 | 显示全部楼层 |阅读模式
本帖最后由 lxvtag 于 2019-12-9 10:23 编辑

开始是正常的,尝试切换了几次编译器版本后就不行了。重新上电,复位,进入DEBUG再退出都可以自动运行。
Reset and Run肯定选中了。MDK原本是5.28, 重装了5.29也无果。
后来工程都用STM32CubeMX重建了还是一样,真烦躁。

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2019-12-9 10:25:21 | 显示全部楼层
是这个吗?设置一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-12-9 10:26:56 | 显示全部楼层
reset and run

出0入169汤圆

 楼主| 发表于 2019-12-9 10:27:24 | 显示全部楼层
小西西 发表于 2019-12-9 10:25
是这个吗?设置一下

这个无效。

出0入0汤圆

发表于 2019-12-9 10:29:01 | 显示全部楼层
我的版本是5.23,怀疑不是MDK问题。你调试的是哪款芯片,换一款试试。

出0入0汤圆

发表于 2019-12-9 10:41:14 | 显示全部楼层
要这样设置:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入169汤圆

 楼主| 发表于 2019-12-9 11:35:34 | 显示全部楼层

一样没效果,用的是STLINK

出0入169汤圆

 楼主| 发表于 2019-12-9 12:27:44 | 显示全部楼层
有人有openedv的帐号么,像是一样问题,帮看看说的啥
http://47.111.11.73/thread-296926-1-1.html

出0入169汤圆

 楼主| 发表于 2019-12-9 12:31:37 | 显示全部楼层
本帖最后由 lxvtag 于 2019-12-9 12:33 编辑
小西西 发表于 2019-12-9 10:29
我的版本是5.23,怀疑不是MDK问题。你调试的是哪款芯片,换一款试试。


一块F103C8T6, 两块G431KBT都这样了

出0入475汤圆

发表于 2019-12-9 13:21:48 来自手机 | 显示全部楼层
烧一个别人能跑的hex看看?

出0入0汤圆

发表于 2019-12-9 13:28:23 | 显示全部楼层
硬件报错了吧

出0入4汤圆

发表于 2019-12-9 13:35:07 | 显示全部楼层
SWD是标准5线接法么?

出0入169汤圆

 楼主| 发表于 2019-12-9 13:45:54 | 显示全部楼层
wajlh 发表于 2019-12-9 13:35
SWD是标准5线接法么?

就SWDIO + SWCLK

出0入4汤圆

发表于 2019-12-9 13:49:58 | 显示全部楼层

把复位线加上吧

出0入169汤圆

 楼主| 发表于 2019-12-9 13:52:17 | 显示全部楼层
wajlh 发表于 2019-12-9 13:49
把复位线加上吧

没引出。。。
而且开始是正常下完就跑的。

出0入4汤圆

发表于 2019-12-9 14:05:19 | 显示全部楼层
lxvtag 发表于 2019-12-9 13:52
没引出。。。
而且开始是正常下完就跑的。

飞线试试就知道了,  不采用标准SWD,出现任何问题都不奇怪的。特别是做低功耗的项目,复位线一定要接的。  

出0入169汤圆

 楼主| 发表于 2019-12-10 11:35:31 | 显示全部楼层
wajlh 发表于 2019-12-9 14:05
飞线试试就知道了,  不采用标准SWD,出现任何问题都不奇怪的。特别是做低功耗的项目,复位线一定要接的 ...

没事不喜欢碰烙铁唉


几个月前有老外也碰到了一样问题,他是接了RESET的,然而用示波器看了实际没发RESET信号。


https://community.arm.com/develo ... -with-reset-and-run
看后面描述,下载的时候有RESET信号,下载完就没有。DEBUG的时候就都正常。

最后问题也没解决。看来要考虑下是不是降个级了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入4汤圆

发表于 2019-12-10 11:37:43 | 显示全部楼层
5.28没用,但是用标准SWD的时候从来没出过问题。还有一种办法可以解决,连续下载两次,第二次就可以复位了。

出0入169汤圆

 楼主| 发表于 2019-12-10 11:47:09 | 显示全部楼层
wajlh 发表于 2019-12-10 11:37
5.28没用,但是用标准SWD的时候从来没出过问题。还有一种办法可以解决,连续下载两次,第二次就可以复位了 ...

并不能, 第二次复位完继续是下载模式啊, 现在软件上唯一的办法是点下DEBUB, 再退出。

出0入4汤圆

发表于 2019-12-10 13:24:34 | 显示全部楼层
lxvtag 发表于 2019-12-10 11:47
并不能, 第二次复位完继续是下载模式啊, 现在软件上唯一的办法是点下DEBUB, 再退出。 ...

用jflash下载的时候,第二次是只复位,并不真正下载,从进度条的速度也可以判断出来。我有个板子没留rst,工厂生产的时候用jflsh下载,就直接点两次下载就复位运行了。

出0入169汤圆

 楼主| 发表于 2019-12-10 13:51:19 | 显示全部楼层
wajlh 发表于 2019-12-10 13:24
用jflash下载的时候,第二次是只复位,并不真正下载,从进度条的速度也可以判断出来。我有个板子没留rst ...

刚回退了5.26,有点结论了:

1.用的是覆盖安装的方式,接近结束时有提示当前已经安装了更新的什么组件,弹框太多了没细看,全部选了skip. 重新编译、下载,问题照旧;
2.再次覆盖安装,这次选择全部覆盖。重新编译、下载,正常运行了!多次下载,完全正常。

看来很可能是某个组件或者驱动的问题,修改compiler之后会出问题,而且之后不会恢复。

出0入0汤圆

发表于 2019-12-10 14:22:27 | 显示全部楼层
1、5线接法必须 reset
2、JLINK 中有两个NRST 。 别接错了就行。
3、升级segger jlink 驱动。 老版本不会复位。  

出0入169汤圆

 楼主| 发表于 2019-12-10 15:02:29 | 显示全部楼层
waterghost 发表于 2019-12-10 14:22
1、5线接法必须 reset
2、JLINK 中有两个NRST 。 别接错了就行。
3、升级segger jlink 驱动。 老版本不会复 ...

我用的是stlink

出0入4汤圆

发表于 2019-12-11 10:02:15 来自手机 | 显示全部楼层
Swd的data 和clock 脚有没有用。有时候用了会有这个现象。

出0入169汤圆

 楼主| 发表于 2019-12-11 13:05:52 | 显示全部楼层
另外一台电脑上重复了一遍21楼的操作,结果一模一样。
有空再看看能不能挖掘下是哪个文件导致的。

当时是改了这个,在几个选项间切换了几次,还有优化等级也调整了几次,然后就出毛病了。



现在5.26版的还没试过改了会不会出问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入169汤圆

 楼主| 发表于 2019-12-11 13:06:31 | 显示全部楼层
xiaoergao 发表于 2019-12-11 10:02
Swd的data 和clock 脚有没有用。有时候用了会有这个现象。

没有用到。

出0入296汤圆

发表于 2019-12-12 16:41:07 来自手机 | 显示全部楼层
mdk 5. 26下也可以用arm compiler 6. 13. 1的,把CLANG文件夹从mdk 5. 29里拷贝出来,覆盖到5.26就行了

出0入169汤圆

 楼主| 发表于 2019-12-12 20:49:56 | 显示全部楼层
Gorgon_Meducer 发表于 2019-12-12 16:41
mdk 5. 26下也可以用arm compiler 6. 13. 1的,把CLANG文件夹从mdk 5. 29里拷贝出来,覆盖到5.26就行了 ...


还未测试5.26会不会也有同样问题,compiler 用什么版本都没关系。

准备有时间用覆盖法确定到是哪个文件导致,以后再出毛病就直接恢复它。

出0入0汤圆

发表于 2019-12-20 17:45:05 | 显示全部楼层
如果你的 SWD 烧写口是 4线的话,你MDK再怎么设置,都不一定有用。虽然设置了复位重启,但有时候灵,有时候又不灵。
只有把复位脚也接进去,也就是5线,才可以彻底解决这个问题。
话说,你接SWD仿真器后,不是仿真调试吗,直接仿真界面复位一下不就好了?
如果你只是下载程序,还是建议重新上一下电,这样不是更好?

出615入1076汤圆

发表于 2019-12-20 18:49:19 | 显示全部楼层
本帖最后由 dukelec 于 2019-12-20 18:53 编辑

我表示也經常遇到這個問題,我用的是開源的命令行工具,下載代碼後有一定概率不能自動運行,硬件也是 stlink-v2 和 2 線 sw

下代碼命令是:
st-flash --reset write build/xxx.bin 0x08000000

解決方法是單獨調用一下:
st-flash reset

反正寫在腳本裏面,多一行沒所謂。

幫助信息:
  1. duke@duke-pc ~ $ st-flash --help
  2. invalid command line
  3. stlinkv1 command line: ./st-flash [--debug] [--reset] [--format <format>] [--flash=<fsize>] {read|write} /dev/sgX <path> <addr> <size>
  4. stlinkv1 command line: ./st-flash [--debug] /dev/sgX erase
  5. stlinkv2 command line: ./st-flash [--debug] [--reset] [--serial <serial>] [--format <format>] [--flash=<fsize>] {read|write} <path> <addr> <size>
  6. stlinkv2 command line: ./st-flash [--debug] [--serial <serial>] erase
  7. stlinkv2 command line: ./st-flash [--debug] [--serial <serial>] reset
  8.                        Use hex format for addr, <serial> and <size>.
  9.                        fsize: Use decimal, octal or hex by prefix 0xXXX for hex, optionally followed by k=KB, or m=MB (eg. --flash=128k)
  10.                        Format may be 'binary' (default) or 'ihex', although <addr> must be specified for binary format only.
  11.                        ./st-flash [--version]
  12. duke@duke-pc ~ $
  13. duke@duke-pc ~ $ st-flash --version
  14. v1.5.1-18-g522188d
  15. duke@duke-pc ~ $
复制代码

出0入0汤圆

发表于 2019-12-9 10:18:52 | 显示全部楼层
lxvtag 发表于 2019-12-9 12:27
有人有openedv的帐号么,像是一样问题,帮看看说的啥
http://47.111.11.73/thread-296926-1-1.html
...

帖子内容见图片,可以试一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入169汤圆

 楼主| 发表于 2019-12-20 23:52:44 | 显示全部楼层
596142041 发表于 2019-12-9 10:18
帖子内容见图片,可以试一下

谢谢,重装了5.28,这个确实可行。

出0入0汤圆

发表于 2020-1-19 09:31:55 | 显示全部楼层
2楼的说得对,我之前V5.26下载后,程序直接就复位运行,现在是V5.29版本,程序下载后始终不运行,必须电源重启才运行,始终没找到原因。刚才把Enable前的勾去掉后,果然程序自动运行,恢复如初了,谢谢分享!

出0入0汤圆

发表于 2020-7-19 12:02:35 | 显示全部楼层
根据2楼3楼的方法设置之后程序就可以自动下载,不过如果是自己的设计的板卡需要看看Reset有没有接上

出0入0汤圆

发表于 2020-10-7 00:30:25 | 显示全部楼层
谢谢分享!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 18:50

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表