文档详情

STM32 在RAM 中调试的方法.pdf.pdf

发布:2017-05-28约1.63千字共3页下载文档
文本预览下载声明
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栏设置 此处千万别选,选了出现此错误: 啰嗦了半天,前面的是抄的,特别注意及后面的是出问题后找出来的解决办法,希望对和我一样的新手有用 就好了,^_^
显示全部
相似文档