royor 发表于 2006-7-12 00:36:21

skyeye.conf文件中关于mem_bank为什么这样写

mem_bank: map=M, type=RW, addr=0x00000000, size=0x00800000
mem_bank: map=M, type=R, addr=0x01000000, size=0x00200000, file=./images/romfs.bin
mem_bank: map=I, type=RW, addr=0x03ff0000, size=0x00100000,

为什么把 ../image/romfs.bin放到0x01000000起始的地方,而0x00000000这个位置一般为中断向量表的位置,那0x03ff0000是什么位置?为什么这么规定内存的分布?

ksh 发表于 2006-7-26 23:15:14

根据这个配置文件来看,romfs.bin是放在0x01000000的地址,不是0x0

jet 发表于 2006-7-28 20:37:50

0x03ff0000是4510的IO空间,也是sfr空间

刚上电的时候,0x00000000处是ROM/FLASH的bank,之后才是ram的bank,当执行了remap后,0x00000000开始的地方映射为ram,之后是重映射过的rom/flash的bank。这是真实设备的启动过程。

在skyeye中,不需要再自己实现copy和remap的代码,在skyeye.conf中就指定了已经remap过的地址,所以romfs.bin被放到了0x01000000的地方。
页: [1]
查看完整版本: skyeye.conf文件中关于mem_bank为什么这样写