首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教变量定位

请教变量定位

想把一个数组直接定位到外部双口RAM地址,这样就可当成普通变量操作,比较方便。但是搞了整整一晚上也没搞定,查了论坛里的帖子,基本是针对8位和16位机的,和CF的语法有些不同,Diab编译器的话有比较方便的方法:
#pragma section Dprammr far-absolute RW address=0x300000 //双口RAM地址段
#pragma use_section Dprammr dpmrsw //
volatile unsigned char dpmrsw[256]; //这样dpmrsw[256]就定位到了0x300000
我用的编程环境是Codewarrior 4.0,MCU为MCF5282,在Codewarrior中是否有与以上类似的语句?
查了一些资料,稍嫌简单,哪位有相关资料或例程?不胜感激。
陈老大,各位老大!帮帮忙啊!
还是没人回复啊!郁闷啊
CW同样有这个用法
在.lcf文件中定义
sram0 (RWX) : ORIGIN = 0x20000000, LENGTH = 0x00010000

.sram:
{ *(.sramcode)
} >>sram0


在main.c文件中定义
#pragma define_section sramcode ".sramcode"
#pragma section sramcode begin

volatile unsigned char dpmrsw[256];

#pragma section sramcode end
好的,谢谢,我先试试^^
可以了!非常感谢!
原来如此,Diab是不用修改连接文件的,直接在程序中加代码就可以了,比较一下的话,相对而言还是Diab方便一点啊
你可以试试:volatile unsigned char dpmrsw[256] @ 0x30000000;
返回列表