skyeye.conf文件中关于mem_bank为什么这样写
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00800000mem_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是什么位置?为什么这么规定内存的分布? 根据这个配置文件来看,romfs.bin是放在0x01000000的地址,不是0x0 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]