如何在ram中调试STM32程序(2)

2020-04-16 13:18

如何在ram中调试STM32F1series程序

湖南永顺县职教中心 向旭东 【内容摘要】:通常STM32的程序是烧写在flash中进行调试的,但由于高密度的原因它的flash只能烧写大约1000次,而程序写入ram中调试,有利于延长芯片的寿命,减小开发成本。盘古STM32开发资料中没有提供程序在ram中调试的方法与相关文件,本文在参考相关资料并实验探索出如何在盘古STM32开发板上在ram中调试程序,并在其它软件平台上进行了测试。可供广大STM32爱好者参考。 【关键词】:调试;ram;flash;

在STM32F1series程序调试过程中,需要反复的将程序的HEX文件呢烧写入flash中,而相关资料显示它的flash只能烧写大约1000次,相比之下存储临时数据的ram能读写的最大次数几乎无限。若能将程序写入ram中调试,有利于延长芯片的寿命,减小开发成本。本文在参考相关资料并实验探索出如何在盘古STM32开发板上在ram中调试程序,并在其它软件平台上进行了测试。基本步骤和注意事项如下:

一、新建一个在ram中调试程序的目标(target)命名如RAM并保存 打开一个工程(project),它的窗口的根目录上会显示一个目标(target),本例中命名为key_exti,这个target通常是设计在flash中调试的。在原有的target的基础上,新建一个欲在ram中调试的目标文件夹例如RAM,步骤见图1、图2,右键单击原来的目标,在弹出的菜单中选择Manage Project Item选项,弹出如图2的对话框,新建一个取名如RAM的目标,点击OK保存,然后再按图1显示的方法选择RAM目标,RAM目标所包含的文件基本引用原来的程序文件,只是配置不同。注意我们后来的步骤大部分都是在RAM目标中操作。

图1 打开工程,准备新建一个target

图2 新建一个target取名RAM

二、ram调试目标(target)的设置与配置

按照图3的方法:从RAM的右键菜单中选择Option for target ‘RAM’(或者从工具栏“魔术棒”按钮),进入目标选项配置对话框。注意工程还是一样,只是这个目标的命名为RAM。我们希望它的程序能在ram中运行。接下来我们需要在编译软件中对RAM的各个标签页进行配置,这些配置的作用是芯片的选择,ram分割(一部分分给原来装在flash中的程序代码,另一部分仍然当做ram装数据),C/C++编译宏定义的选择,编写RAM.ini指定程序的运行地址。Debug调试的设置,程序的编译和写入ram。其中的过程比较多,需要我们一步一步去做,下面把它分成9小步:

图3 进入RAM目标的选项配置

1、Device标签页的设置

按照图4的方法,对Device标签页进行设置,点击图中的Device标签,选中此页。 点选你所使用的芯片,例如STM32F103RB,暂且不要点击OK,可以接着对后面所有的标签页进行设置,也就是等到后面的2~9步设置好后,再点击OK,遇到非点OK不行的话,那就点它,又按图3的办法进入Option for target ‘RAM’(RAM目标的选项配置)页面。还有一点2~9步的步骤可以优化,可以将第5、6、9步放到最后,先按顺序完成其它步骤,本文是按标签页顺序描述的步骤。

图4 Device标签页的设置

2、ram的分割

选择Target选项,会显示出ROM的起始地址、大小,RAM的起始地址、大小。如图5底部。由于我们要将程序写入RAM中调试,这就需要我们将原来RAM 分割成两部分,一部分当做ROM用,剩余部分仍然用作RAM,方法见图5:第一步将ROM的起始地址改为RAM的起始地址,例如将原来ROM的起始地址从0x8000000改为0x20000000,第二步将原来的RAM的大小分成大小两份,一份用来装程序,一份用来装数据。例如把0x005000即20k的RAM分成0x3000和0x2000两份,填入该对话框中的相应部分,第三步别忘了RAM的起始地址由于让出去一部分变为0x20000000+ 0x3000。

图5 ram的分割

3、输出Output标签页的设置

选择Output标签页,见图6:检查Create HEX File复选框是否钩上,Name of Executable中文件名可以保持不变。点选Select Folder for Objects会弹出对话框,见图7。新建一个文件夹,取名如RAMOUT并用来保存RAM目标的生成的HEX文件。防止原来的HEX文件被覆盖。Listing标签页比较简单,也会遇到一个Select Folder for Listings按钮,点选它并将刚才新建的RAMOUT文件夹配给它。用来保存*.lst文件。

图6 目标Output标签页的配置

图7 建立一个保存HEX的文件夹命名如RAMOUT


如何在ram中调试STM32程序(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:谢霆锋说,和张柏芝离婚与艳照门无关,没看过照片

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: