打印
[资料分享与下载]

Kinetis的SRAM_L和SRAM_U(IAR实现)

[复制链接]
1372|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Bermanrep|  楼主 | 2016-1-12 20:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
芯片:MK12DX256VLK5,内存 32k,SRAM_L 和 SRAM_U 都是16k
大家都知道,SRAM_L 和 SRAM_U 只能分开使用,即不能定义大于16k的变量,否则编译器会报错,只能小于16k。
但是,定义2个小于16k的也需要做一些处理,以IAR为例:
1、修改ICF文件,关键语句如下:
define symbol __ICFEDIT_region_RAM_start__ = 0x1FFFC410;
define symbol __ICFEDIT_region_RAM_end__   = 0x1FFFFFFF;

define symbol __region_RAM2_start__ = 0x20000000;
define symbol __region_RAM2_end__ = 0x20003FFF;

define region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];
define region RAM2_region = mem:[from __region_RAM2_start__ to __region_RAM2_end__];

place in RAM2_region  {section MY_RAM2};


2、程序文件里定义的变量后面,加一个@“MY_RAM2”,(@是iar的关键字,用于变量地址的绝对定位)

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

132

帖子

2

粉丝