历史上的今天
今天是:2025年02月15日(星期六)
2020年02月15日 | Keil MDK3.20的stm32调试方法
2020-02-15 来源:elecfans
1. 程序在RAM中运行
要点:
(1)程序的下载地址改到RAM空间中
(2)程序的debug之前要设定SP,PC指针到Ram空间
新建工程,选择STM32 的具体型号,我买的万利的开发板,选择stm32f103Vb。

设定程序下载地址,如下图所示,IROM1的地址指向了STM32的ram空间。

空间大小如何分配取决于自己的需求。本款处理器内部ram大小为20K,分配16K给只读区,4K给可读可写区。这样IROM设定的大小为0x4000,IRAM1的起始就变为0X20004000,大小只剩下0X1000。
Debug标签选择ULINK1 Cortex Debugger(软件采用yjgyiysbCC兄crack方法)。不选Load ApplICaTIon at Start,在IniTIalizaTIon中加入启动脚本RAM.ini。

RAM.ini中具体内容如下:
FUNC void Setup (void) {
SP = _RDWORD(0x20000000); // Setup Stack Pointer
PC = _RDWORD(0x20000004); // Setup Program Counter
_WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register
}
LOAD XXX.axf INCREMENTAL // Download,红色代表工程文件名.axf
Setup(); // Setup for Running
g, main
UTIlities下Update Target before Debugging不选
这样添加后就可以在RAM中调试了。
>>>>>>我们需要在代码中设置正确的中断向量表位置。中断向量表通常被放置在用户程序的开始,所以flash中运行时,向量表位于0x08000000处,而当代码被放置在SRAM中运行时,他的位置就成了0x20000000。在初始化NVIC时,我们可以放置如下代码,定义向量表的位置
NVIC_SetVectorTable(0x20000000 , 0x0);
或
NVIC_SetVectorTable(0x08000000 , 0x0);
或

>>>>>工程选项中Debug项,Download选项卡中,去掉所有钩子,不下载代码到flash,这样就可以在RAM中调试程序了!
2. Flash中调试
新建工程后系统默认设定好IROM1为FLASH的地址和空间大小。只需要两步:
1) 设定调试工具为ULINK1 CORTEX DEBUGGER,如下图所示,不需要设定起始脚本。

2) 在Utility中设定选择ULINK1 cortex debugger,并设定编程算法。如下图所示。


之后就可以FLASH调试了。
硬件:万利的 EK-STM32F开发板,硬件去掉RS3,RS4 排阻,断开开发板本身的仿真器。
软件:KEILMDK3.20+ULINK驱动替换文件。
史海拾趣
|
深圳市南源电子科技有限公司 芯片解密/单片机解密/IC解密/PLD解密/CPLD解密: (慎重声明:仅限合法研究用途) 单片机(MCU)解密、IC解密 、PLD解密、CPLD解密、鉴定芯片型号;成功率高,周期短,费用合理. 大量供应PIC/EMC兼容IC,性能稳定, ...… 查看全部问答> |
|
已经而立之年,对30以后该以怎样的一个状态生活,也比以前思考的多些。 很多人都说,技术员(工程师)30以后要正确向领导(技术型领导)或者创业方面转,而不能继续去做技术。因为论精力,比不上新毕业的学生、论时间我们也没有他们多。面对技术更 ...… 查看全部问答> |
|
这两天看到咱论坛zcgzanne 的帖子:https://bbs.eeworld.com.cn/thread-94882-1-3.html 感觉一个小小的想法,就可以将身边行将废弃的东西,发挥到自己应该发挥的地方; 再看西门的帖子:https://bbs.eeworld.com.cn/thread-95011-1-1.html 稍稍设 ...… 查看全部问答> |
|
cadence 中的 wavescan 能够一下子读取多个psf吗? 比如ocean产生多个corner的结果,放在不同的路径下。 sx可以实现,不过sx的结果会有一点点差别,所以不是很愿意用。 我试着找些文档,看看能否用skill/tcl等command的方式进行,不过没有找到。 ...… 查看全部问答> |
|
请推荐一款嵌入式开发板子,可以移植uclinux,wince,arm 平台的,其他平台也ok了.基本的 usb device .LCD 触摸屏的最好 了,LAN interface.....大家有什么好介绍..… 查看全部问答> |
|
vs2005下安装platform builder插件后设置winceroot问题 先安装好vs2005,再装上Embedded CE 6.0 用vs2005建立Platform Builder for CE 6.0工程时,提示要先设置好 WINCEROOT才能使用。 请问高人,怎么设置WINCEROOT?? 十分感谢 … 查看全部问答> |




