- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
KEIL中如何让程序在RAM中运行
前言
最近老是遇到使用KEIL时需要将部分或者全部程序放到RAM中运行的问题。故此花了不少时间有哪些信誉好的足球投注网站资料和几番尝试,现将
其总结在本篇文章中,也是为大家以后的工作节省时间罢。本文中会介绍通过STM32F411Nucleo的一个例子来介绍几种让
程序在RAM中运行的方法。在该例子中,通过调用ToggleLED函数来翻转LED2亮灭。接下来,我们将通过多种方法将这
段代码放在RAM中运行。
ToggleLED函数从Flash中执行的情况
我们先来看看ToggleLED函数从Flash中执行的情况。下面是ToggleLED函数和它的调用情况。在main函数的while(1)
里调用ToggleLED。
voidToggleLED(void)
{
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
/*Inserta100msdelay*/
HAL_Delay(100);
}
intmain(void)
{
……
/*##-3-TogglePA05IOinaninfiniteloop#################################*/
while(1)
{
ToggleLED();
}
}
Linker的配置为,见下图:
Flash起始地址:0
RAM起始地址:0
编译后从map文件可以看到,ToggleLED以及其中调用到的HAL_GPIO_TogglePin和HAL_Delay函数的地址都在FLASH
中。
将翻转LED的程序放到SRAM中执行
方法一:通过#pragmaarmsectioncode=“RAMCODE”和#pragmaarmsection。参考Example1代码。
这种方式,可以同时将多个函数放到指定的section。具体方法如下:
1.修改.sct文件,自定义一个叫做RAMCODE的section,放在RW_IRAM1执行区域,地址范围00。
LR_IROM100{;loadregionsize_region
ER_IROM100{;loadaddress=executionaddress
*.o(RESET,+First)
*(InRoot$$Sections)
.ANY(+RO)
}
RW_IRAM100{;RWdata
*.o(RAMCODE)
.ANY(+RW+ZI)
}
}
2.在工程中使用前面修改的.sct文件
3.以#pragmaarmsectioncode=“RAMCODE”开头,以#pragmaarmsection结尾。将所有需要放到RAMCODEsection的
函数包括进来。编译时,编译器会自动将这些函数放到RAMCODE所在0开始的区域。
#pragmaarmsectioncode=RAMCODE
voidToggleLED(void)
{
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
/*Inserta100msdelay*/
HAL_Delay(100);
}
voidHAL_GPIO_TogglePin(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)
{
/*Checktheparameters*/
assert_param(IS_GPIO_PIN(GPIO_Pin));
GPIOx-ODR^=GPIO_Pin;
}
uint32_tHAL_GetTick(void)
{
returntick;
}
voidHAL_Delay(__IOuint32_tDelay)
{
uint32_ttickstart=0;
tickstart=HAL_GetTick();
while((HAL_GetTick()
您可能关注的文档
最近下载
- 2023ESC急性冠脉综合征管理指南(完整版).pdf
- 2025美国急性冠脉综合征(ACS)患者管理指南解读课件PPT.pptx
- 《设计小房子》教案-2024-2025学年教科版(2024)小学科学二年级上册.docx VIP
- 《夜晚的月亮》教案-2024-2025学年教科版(2024)小学科学二年级上册.docx VIP
- 1.4设计小房子 课件 2024新教科版科学二年级上册.ppt
- DELTA台达垂直多关节机器人手持式教导器 DTV 系列操作手册.pdf VIP
- 医院常见传染病感染防控的管理要点.pdf
- 2.7夜晚的月亮 课件 2024新教科版科学二年级上册.ppt
- 华成多轴机械手控制系统说明书培训资料.pdf
- 小学奥数教师版(合辑)1-1-2-3 分数四则混合运算综合.pdf VIP
文档评论(0)