推荐星级:
- 1
- 2
- 3
- 4
- 5
使用KEIL的时候如何让程序在RAM中运行
资料介绍
最近老是遇到使用KEIL时需要将部分或者全部程序放到RAM中运行的问题。故此花了不少时间搜索资料和几番尝试,现将其总结在本篇文章中,也是为大家以后的工作节省时间罢。本文中会介绍通过STM32F411Nucleo的一个例子来介绍几种让程序在RAM中运行的方法。在该例子中,通过调用ToggleLED函数来翻转LED2亮灭。接下来,我们将通过多种方法将这段代码放在RAM中运行。
部分文件列表
文件名 | 大小 |
使用KEIL的时候如何让程序在RAM中运行.pdf | 410K |
部分页面预览
(完整内容请下载后查看)KEIL 中如何让程序在RAM 中运行
前言
最近老是遇到使用KEIL 时需要将部分或者全部程序放到RAM 中运行的问题。故此花了不少时间搜索资料和几番尝试,现将
其总结在本篇文章中,也是为大家以后的工作节省时间罢。本文中会介绍通过STM32F411Nucleo 的一个例子来介绍几种让
程序在RAM 中运行的方法。在该例子中,通过调用ToggleLED 函数来翻转LED2 亮灭。接下来,我们将通过多种方法将这
段代码放在RAM 中运行。
ToggleLED函数从Flash中执行的情况
我们先来看看ToggleLED 函数从Flash 中执行的情况。下面是ToggleLED 函数和它的调用情况。在main 函数的while(1)
里调用ToggleLED。
void ToggleLED(void)
{
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
/* Insert a 100ms delay */
HAL_Delay(100);
}
int main(void)
{
……
/*##-3- Toggle PA05 IO in an infinite loop #################################*/
while (1)
{
ToggleLED();
}
}
Linker 的配置为,见下图:
Flash 起始地址:0x08000000
RAM 起始地址:0x20000000
全部评论(0)