这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » KEIL,RAM 请教KEIL下面扩展RAM的地址设定问题

共2条 1/1 1 跳转至

KEIL,RAM 请教KEIL下面扩展RAM的地址设定问题

院士
2006-09-17 18:14:16     打赏
KEIL,RAM 请教KEIL下面扩展RAM的地址设定问题



关键词: 请教     下面     扩展     地址     设定     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 请问高手,我用KEIL ULINK  在KEIL 下做AT91M40800的开发,由于40800的内部RAM 8K 不够用,就在CS1上扩了256K 的RAM ,在EBI寄存器里基地址设为0X04000000,我的问题是,我怎样才能让KEIL编译时知道,刚开始在内部RAM分配空间,当内部8K容量用完了后,开始从我设定的地址0X04000000开始为变量分配空间,同时告诉编译器RAM的大小。我在KEIL的帮助文件里没找到这方面的说明,请知道的人帮帮我,不胜感激。 1: 在选项→目标里面设置。 2: 请问能够清楚点能否清楚一点,大哥,我只在KEIL下LINKER设置里找到一个R/O BASE,和R/W BASE 设置,不用说,R/W就是RAM基地址了,但我的RAM是不连续的啊,R/W如果设置成0X00000020,当然是内部RAM的起始地址了,但外扩的怎么办,这个该怎么设置,
如果你在线的话,我的QQ 78737282,谢谢。 3: 点击菜单中的 project,然后选择 option for target,然后点击target标签,如下图所示。

4: 关于版本大哥,你用的什么版本的啊,我的芯片要是选ARM的话,就没有这个选择了 5: 如下:


版本:

6: 新问题忘了说了我在KEIL下我用的是ADS编译器,现在已明白是用SCATTER文件定义RAM的分配了,但是还是弄不好当内部RAM用完了后让编译器自己转到外部RAM上去,谁知道啊,我的SCATTER文件如下
FLASH 0X0100000  0X000FFFFF
{
ROM  0X0100000  0X000FFFFF
  {
   STARTUP.O  (RESET,+FIRST)
   *.O (+RO)
  }
INTERL_RAM  0X00000020 0X00002000
  {
   *.O (+RW,+ZI)
  }
EXTERNAL_RAM 0X04000000  0X00040000
{
          ;这里我不知道该怎么弄了,因为要定义 成*.O (+RW,+ZI) ,编译器说RAM 选择不清楚,不能选择两个分配,要定义成 *(+RW,+ZI).编译器报说INTERL_RAM大小不够用,我的目的就是当内部不够用的时候,让编译器自动按照我的SCATTER文件转到外部RAM上去,这个该怎么弄啊.
  }
}

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]