MDK5在调试过程中遇到的问题以解决方式
在写嵌入式代码过程中,免不了用MDK5在线调试,今天用MDK5 的在线调试就出现了一个问题,解决了大半天,现在跟大家来分享一下MDK5
仿真过程中常出现的问题以及解决方式。
1、第一个问题现象
1.1 他的现象是,第一次烧录进去之后,运行的窗口直接编程灰色,点暂停程序不知道跑哪去了。
1.2 点击关掉调试后提示第二张图片
1.3 再次烧录程序时,提示Not a genuine ST Devic Abort connection1.4 然后提示Invalid ROM Table.
出现这个的问题有两种解决方式
第一种
先断电,设置BOOT0上拉到VDD(3.3V),重新烧写代码,重新下拉BOOT0至GND,即可正常工作,如不能正常工作则进行第二种问题修改。
第二种
晶振设置错误,我今天犯得问题就是这个原因,板子上是25M的晶振,程序设置的是8M。导致程序跑飞了。
以STM32F407系列为例
打开system_stm32f4xx.c文件,找到HSE_VALUE
将HSE_VALUE的值从8000000 修改为25000000,这个值是你单片机使用的外部晶振的值。
等等,你以为这就结束了,还有一个值要修改,主频的计算公式/************************* PLL Parameters***************************/
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
//锁相环压腔振荡器时钟
//PLL_VCO =(HSE_VALUE/PLL_M)* PLL_N=8/ 8* 336 = 336MHz
#define PLL_M 8
#define PLL_N 336
/* SYSCLK = PLL_VCO / PLL_P */
// 系统时钟SYSCLK = PLL_VCO / PLL_P=336 / 2 = 168MHz
看到这里他还有一个PLL_M 值要修改
在打开system_stm32f4xx.c文件,找到PLL_M
第三种:现象是,烧录完成点击在线调试时,运行按钮也会自动变成灰色不可按,但可以停止和复位,暂停打断点没有具体位置
这种也是程序跑飞了,发现原因是只用J-link供电,可能供电电压不够导致的,给系统板外接电源之后,可以正常调试。
3、下载完程序后不能自动运行?
将PLL_M改为25即可。
两项都修改完毕后,重新按照第一种方式操作一遍就可以完美解决问题了(第一种方式,将BOOT连
接到3V3后,一定要断电,再上电,否则还是会提示Not a genuine ST Devic Abort connection)。
2、第二个问题
在线调试完毕后,会弹出以下窗口,而且关不了,像卡死了一般,只能通过任务管理器强制关掉软件就很痛苦,只是一个软件bug,兼容性问题。
解决方式
2.1、程序的目录可能有中文路径的原因,这个倒不是影响的关键,反正大家尽量避免。
2.2、在点击停止在线调试前,取消掉所有断点就可以解决。
3、下载程序后,程序不能自动运行?
首先点击魔术棒,然后点击debug,再点击Setting,找到FLash_Down,
看一下Reset and Run 有没有打钩,如果没有打上勾再下载一次程序看一下。
如果上述操作不能解决
点击pack,将Enable √ 去掉。
4、点击下载提示error Flash Download failed
一开始我是以为误操作芯片锁死了,然后钟爱到了其他原因,往家芯片固件了。
点击魔术棒,然后setting,flash download
添加相应的固件就好了
这样就可以解决了
以上就是对MDK5常出现的调试问题总结以及问题解决方式。
---------------------
作者:woai32lala
链接:https://bbs.21ic.com/icview-3252294-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。
[开发工具]MDK5在调试过程中遇到的问题以及解决方式
最新推荐文章于 2024-06-12 10:48:37 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)