加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ulink下在ram和flash中调试stm32的方法

发布时间:2020-12-15 17:22:42 所属栏目:百科 来源:网络整理
导读:Keil MDK3.20?在ULINK下调试stm32方法 1.???????程序在RAM中运行 要点:(1)程序的下载地址改到RAM空间中 ?????(2)程序的debug之前要设定SP,PC指针到Ram空间? 新建工程,选择STM32?的具体型号,我买的万利的开发板,选择stm32f103Vb。 ? 设定程序下载地

Keil MDK3.20?在ULINK下调试stm32方法


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中调试了。


2.???????Flash中调试


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


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



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




之后就可以FLASH调试了。


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


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


仿真器:ULINK




http://bbs.ednchina.com/BLOG_ARTICLE_92176.HTM#

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读