基于全志哪吒tina-d1-h开发版分析。
前言
以全志哪吒tina-d1-h开发版D1-H 芯片介绍为例,uboot中使用bootm启动uImage
uImage制作命令:
mkimage -A riscv -O linux -T kernel -C gzip -a 0x40080000 -e 0x40080000 -n 'RISCV OpenWrt Linux-5.4.61' -d out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/Image.gz out/d1-h-nezha/d1-h-nezha-uImage
bootm启动uImage:
boot_normal=sunxi_flash read 45000000 ${boot_partition};bootm 45000000
bootm地址和-a指定的地址不同,从0x4500_0000开始提取64byte的头部,然后把头部去掉,在copy到-a指定的load地址(load地址在uboot中根据BASE_ADDRESS和KERNEL_OFFSET重新计算为0x4000_0000)。
uboot启动kernel
images->ep指向0x40000000物理地址;boot_hart启动CPU ID(cpu不支持超线程);ft_addr表示DTB物理地址,uboot会将command line更新到dts根节点下的


2147

被折叠的 条评论
为什么被折叠?



