为啥要将内核的内容读到内存的0x41000000,有没有具体的说明和计算,文档啥的学习一下,是在哪个地方指定的?
离线
zImage是自解压缩的镜像,可以随意放到内存的任意位置
Image属于未加压镜像需要放到指定内存位置,如0x40008000(arm32),参考内核内存映射模型
具体代码参照lds链接脚本,和stext的代码
离线
zImage是自解压缩的镜像,可以随意放到内存的任意位置
Image属于未加压镜像需要放到指定内存位置,如0x40008000(arm32),参考内核内存映射模型
具体代码参照lds链接脚本,和stext的代码
还是有点不太懂,官网上的spiflash启动,uboot需要这样改动。烧写到flash0x110000 的是内核zImage,为啥要加载到0x41000000 ,有没有具体点的信息和设置说明,能详细讲解一下嘛?
#define CONFIG_BOOTCOMMAND "sf probe 0; " \
"sf read 0x41800000 0x100000 0x10000; " \
"sf read 0x41000000 0x110000 0x400000; " \
"bootz 0x41000000 - 0x41800000"
#define CONFIG_BOOTARGS "console=ttyS0,115200 earlyprintk panic=5 rootwait " \
"mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,4M(kernel)ro,-(rootfs) root=31:03 rw rootfstype=jffs2"
最近编辑记录 luciferseva (2020-06-11 10:59:10)
离线
还是有点不太懂,官网上的spiflash启动,uboot需要这样改动。烧写到flash0x110000 的是内核zImage,为啥要加载到0x41000000 ,有没有具体点的信息和设置说明,能详细讲解一下嘛?
#define CONFIG_BOOTCOMMAND "sf probe 0; " \
"sf read 0x41800000 0x100000 0x10000; " \
"sf read 0x41000000 0x110000 0x400000; " \
"bootz 0x41000000 - 0x41800000"#define CONFIG_BOOTARGS "console=ttyS0,115200 earlyprintk panic=5 rootwait " \
"mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,4M(kernel)ro,-(rootfs) root=31:03 rw rootfstype=jffs2"
还是刚刚那个解释,我建议你改改内核加载地址试一试你就明白了,zImage可以放到内存区域内的任意位置,放在靠低位地址只是为了避免重叠。
离线