- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32 在RAM 中调试的方法.pdf
STM32在RAM中调试的方法
最近刚学习stm32,鉴于flash的擦写次数有限,所以一直在网上找在ram中调试的方法,下面是参照安
富莱STM32F103ZE-EK开发板的写的一点东西,希望对初学者有用,我试验是成功了的
下面是说明:
该设置的程序只能使用仿真器进行调试。 优点
• 下载速度快;
• 不改写CPU内部Flash已有的程序;
• 无需拨动启动模式选择开关(即拨打CPU 内部Flash启动也可以下载到RAM进行调试;
• 程序执行速度和在CPU内部Flash一样快。
缺点:
• 开发板掉电会丢失程序;
• 暂时无法使用调试界面的复位按钮进行复位。
• 程序空间最大32K字节,变量空间最大限制在32K字节。(用户也可以自行调整)
重要说明:编译、连接完毕后,不要使用 按钮下载程序。因为这个按钮只针对下载程序到CPU
内 部Flash有效。请直接点击 按钮启动调试即可。IDE会自动将程序装入CPU内部RAM。
1、首先设置 Target 定位地址,设置界面如下:
IROM1 = 0Size = 0x8000,这是 CPU 内部 RAM 区的前 32K 字节空间
IRAM1 = 0Size = 0x8000,这是CPU 内部 RAM 区的后32K 字节空间
2、然后设置 Debug 调试接口,界面如下:
• 取消“Load Application at Startup”前面的钩。在 CpuRAM.ini 初始化脚本中自动装入程序。 b)
在“Initialization Files:“编辑框指定”.\CpuRAM.ini“。 .\ 表示工程文件所在的当前目录。
c) 请将 CpuRAM.ini 文件和工程文件放在同一个文件夹下。CpuRAM.ini 文件是一个文本格式的初始化
脚本文件。当启动调试时,IDE 会执行这个脚本中的命令。
初始化脚本文件说明:
初始化脚本文件说明:
初初始始化化脚脚本本文文件件说说明明::
a) 新建一个CpuRAM.ini的空文件,然后使用记事本将如下内容复制到这文件保存即可。
• CpuRAM.ini 的内容如下:
FUNCvoid Setup(void){
SP=_RDWORD(0; // 设置堆栈指针
PC=_RDWORD(0; // 设置PC指针
_WDWORD(0xE000ED08,0; // 设置中断向量表地址
}
LOAD CpuRAM\obj\output.axf INCREMENTAL
// 先装载代码到CPU内部RAM (工程选项中就不要选LoadApplicationar Startup)
Setup(); // 再调用Setup函数修改堆栈和PC指针(因为SP的值需要从目标代码中读取)
g,main // 运行到main()函数
特别注意:
Output.axf位于工程文件下的CpuRAM的Obj文件夹下,根据自己的情况设定,如果设置的位置不对,程序不
能运行到main()函数;
3、C/C++配置栏
注意框起来的部分,如果没有也会使程序运行不正常;
4、Utilities栏设置
此处千万别选,选了出现此错误:
啰嗦了半天,前面的是抄的,特别注意及后面的是出问题后找出来的解决办法,希望对和我一样的新手有用
就好了,^_^
文档评论(0)