Board logo

标题: 请教变量定位 [打印本页]

作者: hitmissile    时间: 2007-2-9 23:00     标题: 请教变量定位

想把一个数组直接定位到外部双口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中是否有与以上类似的语句?
查了一些资料,稍嫌简单,哪位有相关资料或例程?不胜感激。
作者: hitmissile    时间: 2007-2-10 21:20

陈老大,各位老大!帮帮忙啊!
作者: hitmissile    时间: 2007-2-11 20:49

还是没人回复啊!郁闷啊
作者: seuafu2005    时间: 2007-2-12 09:44

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

作者: hitmissile    时间: 2007-2-12 19:53

好的,谢谢,我先试试^^
作者: hitmissile    时间: 2007-2-12 19:59

可以了!非常感谢!

作者: hitmissile    时间: 2007-2-12 20:02

原来如此,Diab是不用修改连接文件的,直接在程序中加代码就可以了,比较一下的话,相对而言还是Diab方便一点啊
作者: zhangxian9s08    时间: 2009-5-16 12:25

你可以试试:volatile unsigned char dpmrsw[256] @ 0x30000000;




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0