概述 ME32x系列是内嵌ARM Cortex M0/M3核的32位微控制器。该系列控制器由敏矽微电子有限公司自主开发,并具有自主知识产权。敏矽微电子的微控制器包括有通用MCU和专用SOC系列,具有非常高的性价比,是MCU产品升级换代和国外产品替代的最佳选择。通用功能有高精度ADC,CAN接口,I2S音频接口,UART串口,SPI接口,I2C总线接口,看门狗定时器(WDT),通用计数器/定时器。特殊接口包括人机界面控制器(LCD驱动,电容触摸按键)和马达控制功能模块。
调试端口 所有ME32x系列产品都支持ARMSWD 两线调试协议。由于调试端口与IO复用,调试端口管脚在系统初始化时为SWD调试功能SWD_CLK和SWD_IO(用户加密情况除外),调试管脚状态在BootLoader运行时不会改变。用户可以使用Jlink或Ulink仿真器与之连接,从而下载和调试用户程序。 调试技巧
3.1 如何确认硬件连接
理论上,仿真器与目标板只需要连接GND,SWD_CLK和SDW_IO三根线即可调试(建议nRST也连接)。如目标板没有电源,JLINK/ULINK仿真器是可以通过USB5V提供一个3.3V电源给目标板供电,前提是目标板是3.3V供电并且电源功耗所需要电流不超过USB能提供的电流:
JLINK缺省是输出3.3V
ULINK缺省是不输出3.3V电源,接口芯片电源要外供。要输出3,3V,需要把一个3针排插全部连在一起(ULINK标准版) 如果目标板系统接口是1.8V或5V,就只能使用ULINK,并且使用不输出3.3V电源设置,目标板需要自己供电,并且1.8V或5V 电源还需要接入仿真器的接口电源。 连接好电源及信号线后,可以检验一下你的工作结果: 打开一个对应的MCU的工程,在OPTION窗口的Debug Tab,选择你的仿真器,再点击Setting按键
如果你能看到IDCCODE,那么恭喜你,你的硬件连接没有问题了。
3.2 程序下载失败
在确认硬件连接没有问题后,如果出现程序下载失败并且连续重试也一样(已确认对应Flash烧写算法已正确设置并且运行Flash算法的SRAM地址空间也正确设置,不同芯片设置不同,看下图),可能有以下原因:
SWD端口被用户程序复用,此时端口功能不再具有SWD功能 解决方法:MCUBoot引脚接地,重新上电或用Reset重启系统,这样系统会停留在Bootloader,同时SWD引脚功能恢复,即可下载。 SWD接口需要重启 解决方法:在OPTION->Debug->SettingTAB 窗口,选择设置Connect &Reset Options使用Reset,如下图
如nRST没有连接,也可以选择SYSRESETREQ Reset。
3.3 不能进入调试界面或总是从调试界面弹出
有时用户会发现,以前的工程可以下载,但不能进入调试界面进行调试,并且还可能导致SWD不工作,但换一个工程又可以调试。其原因是该工程上次调试有非法操作(如访问非法地址),并且非法操作被工程记录,每一次进入调试都会调用该操作,从而导致Keil从调试窗口弹出。 所以我们要做的事情就是把保留在工程的非法操作从工程中清除掉。 在工程Options->DebugTab,拿掉下面的勾选项目:
选择OK保存。 再在File->SaveAll 保存所有工程内容。 退出工程。 重新调入工程即可解决问题了。
Revision History
Revision | Description | Date |
1.0 | Initial Release. | Dec. 2018 |
原文标题:ME32x系列MCU Keil调试技巧
文章出处:【微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。
责任编辑:haq
-
mcu
+关注
关注
146文章
16977浏览量
350215 -
控制器
+关注
关注
112文章
16185浏览量
177337 -
keil
+关注
关注
68文章
1211浏览量
166661
原文标题:ME32x系列MCU Keil调试技巧
文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论