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

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档