KEIL中 flash函数在RAM中执行

 

参考:

https://www.stmcu.org.cn/article/id-328210?=edm

https://blog.csdn.net/sinlog/article/details/81230818

https://blog.csdn.net/lijianboyangting/article/details/78471045

以下实测可用,针对NXP LPC54XXX

一、针对从flash启动,单个函数从flash复制到SRAM中执行。

flash起始地址:0x10000000

RAM起始地址:0x20000000

分散加载文件scatter中

scf文件
LR_IROM1 0x10004000 0x00004000 
{
    ER_IROM1 0x10004000 0x00004000
    {
			*(InRoot$$Sections) 
			.ANY (+RO)
    }
	RW_IRAM1 0x20000000 0x0000ffff
	{
		*.o(RAMCODE)
		*(+RW,+ZI)
	}

}

C文件中定义, 

#pragma arm section code = "RAMCODE"
void AAAAAtest()
{

    while (1)
    {
        /* Delay 1000 ms */
        SysTick_DelayTicks(1000U);

			PRINTF("hello 1111world.\r\n");
    }
}
#pragma arm section

查看编译后的map文件

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值