历史上的今天
返回首页

历史上的今天

今天是: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。

Keil MDK3.20的stm32调试方法

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

Keil MDK3.20的stm32调试方法

空间大小如何分配取决于自己的需求。本款处理器内部ram大小为20K,分配16K给只读区,4K给可读可写区。这样IROM设定的大小为0x4000,IRAM1的起始就变为0X20004000,大小只剩下0X1000。


Debug标签选择ULINK1 Cortex Debugger(软件采用yjgyiysbCC兄crack方法)。不选Load ApplICaTIon at Start,在IniTIalizaTIon中加入启动脚本RAM.ini。

Keil MDK3.20的stm32调试方法

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);

Keil MDK3.20的stm32调试方法

>>>>>工程选项中Debug项,Download选项卡中,去掉所有钩子,不下载代码到flash,这样就可以在RAM中调试程序了!


2. Flash中调试

新建工程后系统默认设定好IROM1为FLASH的地址和空间大小。只需要两步:

1) 设定调试工具为ULINK1 CORTEX DEBUGGER,如下图所示,不需要设定起始脚本。

Keil MDK3.20的stm32调试方法

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

Keil MDK3.20的stm32调试方法

Keil MDK3.20的stm32调试方法

之后就可以FLASH调试了。

硬件:万利的 EK-STM32F开发板,硬件去掉RS3,RS4 排阻,断开开发板本身的仿真器。

软件:KEILMDK3.20+ULINK驱动替换文件。

推荐阅读

史海拾趣

C&K Switches公司的发展小趣事

2022年,C&K Switches公司被Littelfuse以5.4亿美元的企业价值收购。Littelfuse是一家工业技术制造公司,致力于打造一个可持续、互联和更安全的世界。两家公司在工业、通讯以及车载领域有着相近的市场布局和业务高度互补。收购完成后,C&K成为Littelfuse电子业务部门的一部分,双方共同为客户提供更全面的解决方案。这一收购不仅加强了C&K的市场地位,还为其未来的发展注入了新的活力和机遇。

Cal Crystal Lab Inc / Comclok Inc公司的发展小趣事

Cal Crystal Lab Inc起初是一家专注于电子晶体管研发的小型实验室。在电子行业的早期,晶体管的性能直接决定了电子设备的质量和性能。创始人张先生凭借对电子技术的深厚理解,带领团队不断攻克技术难关,成功研发出性能更稳定、寿命更长的晶体管。这一创新不仅让Cal Crystal Lab Inc在业内崭露头角,还吸引了大批合作伙伴的青睐。随着市场需求的不断增长,公司逐渐扩大规模,从一个小型实验室成长为拥有多条生产线的大型企业。

驰芯微(CHIPWISE)公司的发展小趣事

驰芯微公司与明然科技的合作是公司在技术创新方面的又一重要突破。双方共同研发的MCU控制芯片成功应用于主动悬架项目,并在奇瑞的星途瑶光、瑞虎9等车型上取得了重要进展。这一合作不仅提升了国产芯片在高端配置车型中的应用水平,也进一步推动了驰芯微在汽车电子领域的发展。

Allianc公司的发展小趣事

随着公司规模的不断扩大和市场份额的增加,Allianc公司开始关注社会责任和可持续发展。公司积极参与公益事业和环保活动,努力为社会做出贡献。同时,公司还加强了对产品环保性能的研发和改进,推出了多款符合环保标准的产品。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

这五个故事虽然是虚构的,但它们反映了电子行业中一个成功公司可能经历的一些关键阶段和挑战。希望这些故事能够满足您的需求,并为您了解电子行业提供一定的参考。

Ceramics公司的发展小趣事

“跨界陶瓷”公司凭借其前瞻性的战略眼光,积极探索与其他行业的跨界合作。该公司与多家科研机构和高新技术企业建立了战略合作关系,共同研发新型陶瓷电子材料和技术。通过跨界合作,跨界陶瓷成功将陶瓷材料应用于新能源汽车、智能家居等新兴领域,为公司开辟了新的发展空间和市场机会。

这些故事虽然基于虚构,但反映了电子行业中Ceramics公司可能面临的机遇和挑战,以及他们如何通过技术创新、环保理念、国际化战略、品质管理和跨界合作等方式实现发展的普遍现象。当然,实际情况中每家公司的具体发展历程和策略都会有所不同,需要根据具体情况进行分析和评估。

Alutronic Kuhlkorper Gmbh & Co Kg公司的发展小趣事

“品质陶瓷”公司深知品质是企业生存和发展的根本。因此,该公司建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格把控。品质陶瓷还引入了先进的生产设备和技术,不断提升产品的性能和质量稳定性。这一品质管理策略使得该公司的产品在市场上具有极高的竞争力,赢得了众多客户的信任和好评。

问答坊 | AI 解惑

单身男女找缘份

看看你的缘份是谁,预定你后面的楼位,不要定从复了啊。 我先来定108号了。 不过要定位子先要发点东西 来啊。 …

查看全部问答>

单片机解密,芯片解密PCB抄板,烧录IC

深圳市南源电子科技有限公司 芯片解密/单片机解密/IC解密/PLD解密/CPLD解密: (慎重声明:仅限合法研究用途) 单片机(MCU)解密、IC解密 、PLD解密、CPLD解密、鉴定芯片型号;成功率高,周期短,费用合理. 大量供应PIC/EMC兼容IC,性能稳定, ...…

查看全部问答>

桥式整流器

如何选桥式整流器   大于1A   600Vrrm的贴片封装…

查看全部问答>

【人生感悟转】做FPGA的出路在哪里?

已经而立之年,对30以后该以怎样的一个状态生活,也比以前思考的多些。 很多人都说,技术员(工程师)30以后要正确向领导(技术型领导)或者创业方面转,而不能继续去做技术。因为论精力,比不上新毕业的学生、论时间我们也没有他们多。面对技术更 ...…

查看全部问答>

创意改变生活,不知大家是否有同感?

这两天看到咱论坛zcgzanne 的帖子:https://bbs.eeworld.com.cn/thread-94882-1-3.html 感觉一个小小的想法,就可以将身边行将废弃的东西,发挥到自己应该发挥的地方; 再看西门的帖子:https://bbs.eeworld.com.cn/thread-95011-1-1.html 稍稍设 ...…

查看全部问答>

wavescan 可以一下子读入批量psf吗?

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?? 十分感谢 …

查看全部问答>