打印

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

[复制链接]
7007|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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
 
LOAD_ROM_1 0x0000              ; Start address for first load region (0x0000)
{
    EXEC_ROM_1 0x0000          ; Start address for first exec region (0x0000)
    {
        program1.o (+RO)       ; Place all code and RO data from
                               ; program1.o into this exec region
    }

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

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

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

使用特权

评论回复
地板
z_no1|  楼主 | 2012-1-5 22:13 | 只看该作者
看不太懂,我的想法是最好像XDATA一样,有一个关键字把一部分全局变量设置到指定的BANK,但不是某个文件里的全局变量都设到指定的BANK,可以逐个指定是哪个BANK.ARM是统一地址的,可能就没这个功能了,

使用特权

评论回复
5
john_lee| | 2012-1-6 01:05 | 只看该作者
easy,先设置Off-chip RAM:

然后,把需要定义到RAM1的全局量集中写在一个C文件中(其它C文件要访问这些全局量,先extern声明)。
然后,设置这个C文件的Options:

设置后,编译,这个文件中定义的全局量就都定位到RAM1中了。

使用特权

评论回复
6
z_no1|  楼主 | 2012-1-6 09:02 | 只看该作者
估计也就是这样了,谢了。

使用特权

评论回复
7
HORSE7812| | 2012-1-6 10:46 | 只看该作者
MARK

使用特权

评论回复
8
haoyide| | 2012-1-6 10:51 | 只看该作者
学习

使用特权

评论回复
9
linqing171| | 2012-1-6 11:50 | 只看该作者
用attrib也可以。
如果所有的变量的话,直接修改工程的模式。

使用特权

评论回复
10
z_no1|  楼主 | 2012-1-6 17:45 | 只看该作者
想像51那样在变量声明的时候加个关键字就把它分配到指定的空间,这样比较方便。

使用特权

评论回复
11
nongfuxu| | 2012-1-6 19:01 | 只看该作者
每种IDE的设计/使用习惯不一样.这得根据设计IDE的思维走.

使用特权

评论回复
12
nongfuxu| | 2012-1-6 19:03 | 只看该作者
到底怎么标,只是设计者的萝卜青菜各有所好而已.而我们使用者只能顺着它啦

使用特权

评论回复
13
yanqiu3526| | 2014-5-10 10:38 | 只看该作者
精彩 长知识了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

223

主题

2644

帖子

10

粉丝