MDK如何把全局变量自动分配到外部RAM里?

[复制链接]
 楼主| z_no1 发表于 2012-1-5 16:46 | 显示全部楼层 |阅读模式
类似51的XDATA命令,
我现在可以手动把全局变量指定到外部RAM里,但这样毕竟要我一个个的去改地址,有没有个关键字把数据指定到某个地方?具体的地址自己去分配?
linty8433 发表于 2012-1-5 20:22 | 显示全部楼层
用 _at_ 行不
李富贵 发表于 2012-1-5 21:10 | 显示全部楼层
keil\ARM\Hlp\Armlink.chm

Example 11. Complex memory map in a scatter file

  1. LOAD_ROM_1 0x0000              ; Start address for first load region (0x0000)
  2. {
  3.     EXEC_ROM_1 0x0000          ; Start address for first exec region (0x0000)
  4.     {
  5.         program1.o (+RO)       ; Place all code and RO data from
  6.                                ; program1.o into this exec region
  7.     }

  8.     DRAM 0x18000 0x8000        ; Start address for this exec region (0x18000),
  9.                                ; Maximum size of this exec region (0x8000)
  10.     {
  11.         program1.o (+RW, +ZI)  ; Place all RW and ZI data from
  12.                                ; program1.o into this exec region
  13.     }
  14. }

  15. LOAD_ROM_2 0x4000              ; Start address for second load region (0x4000)
  16. {
  17.     EXEC_ROM_2 0x4000
  18.     {
  19.         program2.o (+RO)       ; Place all code and RO data from
  20.                                ; program2.o into this exec region
  21.     }

  22.     SRAM 0x8000 0x8000
  23.     {
  24.         program2.o (+RW, +ZI)  ; Place all RW and ZI data from
  25.                                ; program2.o into this exec region
  26.     }
  27. }

 楼主| z_no1 发表于 2012-1-5 22:13 | 显示全部楼层
看不太懂,我的想法是最好像XDATA一样,有一个关键字把一部分全局变量设置到指定的BANK,但不是某个文件里的全局变量都设到指定的BANK,可以逐个指定是哪个BANK.ARM是统一地址的,可能就没这个功能了,
john_lee 发表于 2012-1-6 01:05 | 显示全部楼层
easy,先设置Off-chip RAM:
off-chip-ram.PNG
然后,把需要定义到RAM1的全局量集中写在一个C文件中(其它C文件要访问这些全局量,先extern声明)。
然后,设置这个C文件的Options:
mem-assign.PNG
设置后,编译,这个文件中定义的全局量就都定位到RAM1中了。
 楼主| z_no1 发表于 2012-1-6 09:02 | 显示全部楼层
估计也就是这样了,谢了。
HORSE7812 发表于 2012-1-6 10:46 | 显示全部楼层
haoyide 发表于 2012-1-6 10:51 | 显示全部楼层
学习
linqing171 发表于 2012-1-6 11:50 | 显示全部楼层
用attrib也可以。
如果所有的变量的话,直接修改工程的模式。
 楼主| z_no1 发表于 2012-1-6 17:45 | 显示全部楼层
想像51那样在变量声明的时候加个关键字就把它分配到指定的空间,这样比较方便。
nongfuxu 发表于 2012-1-6 19:01 | 显示全部楼层
每种IDE的设计/使用习惯不一样.这得根据设计IDE的思维走.
nongfuxu 发表于 2012-1-6 19:03 | 显示全部楼层
到底怎么标,只是设计者的萝卜青菜各有所好而已.而我们使用者只能顺着它啦
yanqiu3526 发表于 2014-5-10 10:38 | 显示全部楼层
精彩 长知识了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

2659

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部