历史上的今天
今天是:2024年12月17日(星期二)
2018年12月17日 | ulink下在ram和flash中调试stm32的方法
2018-12-17 来源:eefocus
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
下一篇:LPC1788 引脚分析
史海拾趣
|
在载波恢复中,根据DD、RC-DD、极性判决的算法得到的结果是相位,为什么在论文上都是通过环路滤波后得到频率差的曲线?似乎DD、RC-DD、极性判决的算法似乎可以鉴频,可是算法出来的结果确是相位呢?… 查看全部问答> |
|
更注重安全 一系列安全事故的发生,例如Sony电芯在Dell的笔记本上起火,知名手机厂商的手机电池相继爆炸等,中国政府发布了手机充电器强制性的法令。在半导体行业TI等相继发布侧重充电安全的保护芯片bq24316等,同时大幅提高了充电管理芯片的耐 ...… 查看全部问答> |
|
谁有tektronix泰克TDS 320 示波器中文使用说明啊,或者告诉我哪有下载?最近要用这个仪器,可我根本不会用啊,请大家帮帮我,在goole上也没搜到… 查看全部问答> |
|
程序加入数组_1BitFont 时,编译出现: #error clnk debug\\vl135.lkf:61 debug\\osd.o: symbol _1BitFont multiply defined (debug\\main.o)… 查看全部问答> |
|
DC/DC模块的电源纹波指标是一项很重要的参数。干净的电源是数字电路稳定工作的前提,也是模拟器件的各项参数的重要保障。为确定电源的质量,必须对DC/DC模块的输出纹波进行测量。但很多人测量得到的纹波值动辄上百mV,甚至几百mV, ...… 查看全部问答> |
|
由于成本、系统功耗和面市时间等原因,许多通讯、视频和图像系统已无法简单地用现有DSP处理器来实现,现场可编程门阵列(FPGA)尤其适合于乘法和累加(MAC)等重复性的DSP任务。本文从FPGA与专用DSP器件的运算速度和器件资源的比较入手,介绍FPGA在复数 ...… 查看全部问答> |




