当前位置: 代码迷 >> 驱动开发 >> ARM怎么给数组指定地址
  详细解决方案

ARM怎么给数组指定地址

热度:127   发布时间:2016-04-28 10:10:56.0
ARM如何给数组指定地址
我用下面的语句声明了一个数组 :
volatile static  unsigned  short  BUFFER[272][480];
怎样把这个数组放在指定的位置啊?
------解决方案--------------------
我觉得要把内存保留出来(改配置减少编译器可用内存),然后把首地址定义为相应的指针来用吧
------解决方案--------------------
假设要存放的内存地址为: 0x30A0 0000
可以这样定义:
unsigned  short* pBuffer = (unsigned  short*)0x30A00000;
然后对pBuffer 指针进行操作即可。

直接对地址操作存在一定的风险,请注意你使用的是虚拟地址还是物理地址
------解决方案--------------------
链接脚本。。。
------解决方案--------------------
去看你的链接器的ld脚本帮助去,可以利用ld脚本指定某些模块的地址,gcc,armcc是不一样的,这种做法是允许的。
------解决方案--------------------
 只是为了对齐的话有专门命令干这个吧。用不着指定地址
------解决方案--------------------
单独放在一个段里,然后在链接脚本里面为这个段指定一个特定的vma
------解决方案--------------------
如果只是内存对齐  可以用关键字  pres8这种8字节对齐  alig   这些
如果是要制定地址   可以用指针   或者在编译器中把数组专门编译成一个.o   然后在链接脚本中链接到指定地址
  相关解决方案