flash在uboot中与linux中地址问题
flash在uboot中与linux中地址问题
现象:bootflash在uboot下的地址为0-0x0FFFFFFF
usrflash在uboot下的地址也为0-0x0FFFFFFF
但是在os中,bootflash的地址为0x001_0000_0000-0x001_0FFFFFFF
usrflash的地址为0x001_1000_0000-0x001_1FFF_FFF
问题:bootflash和usrflash地址不同;但uboot下的地址就相同,只需要切换片选,这个差异的原因是什么?
uboot是32位系统,但是os是64位,所以uboot表示大小不能全用来表示flash,占用空间太多;
OS下因为是64位,E2000q的地址分配。0x001_0000_0000之后的2GB都分配给了QSPI的高位空间,拥有足够的空间;
补充一点,查看飞腾的软件编程手册发现,只有0x000_8000_0000-0x000_FFFF_FFFF这中间的2GB是Memory,也就是内存区域,其他地方不能称作为内存,只能是可以说可以被cpu直接访问的区域;
浙公网安备 33010602011771号