qditer的个人空间 https://bbs.21ic.com/?544816 [收藏] [复制] [RSS]

日志

Kinetis的SRAM_L和SRAM_H(IAR实现)

已有 829 次阅读2015-5-15 17:41 |个人分类:freescale|系统分类:ARM| SRAM, RAM

芯片:MK12DX256VLK5,内存 32k,SRAM_L 和 SRAM_H 都是16k

大家都知道,SRAM_L 和 SRAM_H 只能分开使用,即不能定义大于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的关键字,用于变量地址的绝对定位)

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)