历史上的今天

今天是:2024年10月06日(星期日)

2018年10月06日 | STM32内部RAM在线调试配置方法及详细说明

发布者:姑苏清风泉源客 来源: eefocus关键字:STM32  内部RAM  在线调试  配置方法 手机看文章 扫描二维码
随时随地手机看文章

1、写在前面

本文主要讲述的内容:基于Keil开发工具下,STM32内部RAM在线调试配置方法,以及每一项配置的详细说明。

让程序运行在RAM中调试代码有两优点:1.速度快;2.减少对芯片FLASH读写次数,增加芯片寿命。

本文基于ST公司Cortex-M内核的STM32来讲述其配置方法,其实也适用于其他公司(如:TI、NXP等)的Cortex-M芯片,原理都是一样的。

第二点在本文中的作用也很大,就是使用了中断功能。由于RAM调试会牵涉到向量表,中断功能就会使用到向量表,如果没有配置正确,这里就不会响应中断,或者出错。

2、RAM调试配置方法

本节主要讲述配置方法的过程,为什么这么配置,以及配置的原理将会在下一章节讲述。

1.修改内存地址

打开目标配置:Project -> Options for Target -> Target或“工程目标配置”点击快捷按钮。

将ROM和RAM地址映射到如下图地址。 我们使用STM32F103ZE芯片,该芯片的RAM大小为0x10000即64KB,我们这里平分RAM,即各自的大小为0x5000。

注意:配置的地址范围不能超过芯片实际的大小。

STM32内部RAM在线调试配置方法及详细说明(基于Keil开发工具)

 

2.配置向量表

 

同上,打开目标配置:Project -> Options for Target -> C/C++,使用宏定义VECT_TAB_SRAM。如下图:

STM32内部RAM在线调试配置方法及详细说明(基于Keil开发工具)

 

这里的宏定义是为了让向量表指向RAM(我们默认是指向ROM),重要的一个目的就是让中断向量表指向RAM,上面“代码功能”中断的意义就是为了验证向量表的正确性。

 

注意:这里的宏定义是在工具链中配置的,多个宏定义之间需要有“逗号”隔离开来。

 

其实这里的宏定义配置也可以在源代码中实现,打开system_stm32f10x.c文件下第127行的“VECT_TAB_SRAM”宏定义,如下图:

STM32内部RAM在线调试配置方法及详细说明(基于Keil开发工具)

3.调试配置

同上:Project -> Options for Target -> Debug, 这里是关于调试的配置。

第一步:去掉“Load Application at Startup”前面的勾选项

 

第二步:导入RAM初始化文件。

STM32内部RAM在线调试配置方法及详细说明(基于Keil开发工具)

RAM初始化文件里面内容如下:

FUNC void Setup (void) {

SP = _RDWORD(0x20000000);

PC = _RDWORD(0x20000004);

_WDWORD(0xE000ED08, 0x20000000);

}

 

LOAD Objects\ExecutableFile.axf INCREMENTAL

Setup();

g, main

 

每一条语句具体意思请见源代码注释,这里提示的是Objects\ExecutableFile.axf

 

也就是输出路径和输出文件名,它的路径与文件名与你工程配置需对应。

4.调试不更新目标程序

同上:Project -> Options for Target -> Utilities,不勾选“更新”。意思就是在线调试时,不更新芯片(下载FLASH)程序。

STM32内部RAM在线调试配置方法及详细说明(基于Keil开发工具)

至此,STM32内部RAM在线调试配置方法就完成了,连接开发板就可以使用RAM在线调试代码了


关键字:STM32  内部RAM  在线调试  配置方法 引用地址:STM32内部RAM在线调试配置方法及详细说明

上一篇:STM32PB2(BOOT1)使用注意
下一篇:关于STM32串口空闲中断IDEL的问题

推荐阅读

   彭博商业周刊4日发表「The Big Hack」的封面文章,引述情报机构和公司消息人士指,中国透过在一家名为超威(Supermicro)的硬件公司生产比一粒比米更小的微型芯片,再偷偷装上在中国组装的手机及计算机底板中,窃取大企业机密和敏感的政府数据。Super Micro Computer股价10月4日应声狂泻41%或8.8美元,收12.6美元,中国科技股也大跌,全球最大P...
一、总部 1.国网办公厅、国网董办 2.国网总师办 3.国网研究室 4.国网发展部 5.国网财务部 6.国网安监部 7.国网设备部 8.国网营销部、国网农电部 9.国网科技部、国网联办 10.国网基建部 11.国网特高压部 12.国网水新部 13.国网互联网部 14.国网物资部 15.国网产业部 16.国网宣传部、国网外联部 17.国网国际部 18.国网...
国家统计局公布,2020年1-8月全国规模以上工业企业实现利润总额3兆7,166.5亿元,年减4.4%,降幅较1-7月收敛3.7个百分点,呈连六月回升。其中,8月全国规模以上工业企业利润年增19.1%,增速较7月下降0.5个百分点,但仍连4个月呈年增长,延续稳定增长态势。大陆国家统计局工业司高级统计师朱虹指出,8月企业生产经营状况好转,供需循环已逐步改善...
来源:学习军团·解放军新闻传播中心融媒体作者:解放军报记者 韩 成 通讯员 于 晨“机器人技术正在深刻改变着人类的生产和生活方式,中国空间站机械臂也助力我们完成了两次出舱任务。”9月中旬,在北京亦庄开幕的2021世界机器人大会上,神舟十二号飞行乘组3位航天员聂海胜、刘伯明、汤洪波从中国空间站传来“太空点赞”。被表扬的主角,是我国自主研...

史海拾趣

问答坊 | AI 解惑

有高手会用EDA的VHDLY语言设计汉字滚动显示吗?求助啊!

有哪位高手会用EDA设计汉字滚动显示器啊?是16×16点阵的,好难啊?希望大家能帮帮我啊,先谢谢大家啊 []…

查看全部问答∨

10位DA的接法

10位的DA怎么与51单片机想连啊? 直接与P口相连吗? HELP!!…

查看全部问答∨

单片机“0~99加法计数器”课程设计

:( :( 本人急需  单片机“0~99加法计数器”课程设计任务书 希望哪个高手帮助下小弟 感激不尽啊 联系邮箱:511949631@qq.com…

查看全部问答∨

DIY STM32

冥冥中,ARM江湖中出现一位超牛战士,话说他身披华丽的战甲(2.8寸彩屏触摸模块),手握强捍的战刀(JLINK V7传真器),拥有强劲的生命力(STM32F103RBT6 ARM Cortex-M3内核).听闻战士武艺高超,不知何时从何地,掀风鼓浪,再战江湖....... http://item.taoba ...…

查看全部问答∨

招 聘

招   聘 公司简介: 深圳市中海资讯科技有限公司成立于2001年,注册资本1000万元,是中国海外集团旗下专业从事物流信息技术产品研发与服务的子公司。 公司致力于运用最先进信息技术、物流技术为物流企业提供包括咨询、软件开发、硬件 ...…

查看全部问答∨

函数信号发生器的问题

  要做一个函数信号发生器 用凌阳061a 和max038 max038的fadj口调节频率-2.4v到2.4v可调 用061的dac口输出的是0-3mA电流 怎样转换成2.4v到2.4v可调电压 谢谢啦 并诚交电路设计能人异士为好友 如果可能诚心拜师 非诚勿扰 联系邮箱lian.sun ...…

查看全部问答∨

求助一个经验型问题?

我在用evc编程时:先按步骤创建了一个单文档的应用程序: 其中有一个  打开文件 的图标,按了后出现打开文件的对话框。 我觉得这个对话框大小不能改变,不知道哪位高手知道改变此对话框 大小的方法?(本打算截张模拟器的打开文件的对 ...…

查看全部问答∨

特价供用DSP2407 开发板

DSP2407开发板 [系统资源] DSP处理器TMS320LF2407A ,最高工作频率40MHz; DSP芯片内置2.5k字SRAM; DSP芯片内置32k 字FLASH; 外扩32k×16bit的程序RAM,32k×16bit的数据RAM; 监视用LED发光管一个; DSP所有功能引脚引出,120pin; ...…

查看全部问答∨

请教一个简单的问题

我在vs2003下用vb.net开发了一个简单程序可在wince4.2上面正常运行,但这个程序用在wince5.0下运行,可以启动界面,但点按钮执行功能时没有效果。然后我又把同样的程序用vs2005找开重新编译,但是编译好的程序放在wince5下运行时,什么反应都没有, ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved