hi3516dv300 nand flash 烧写uboot,kernel,rootfs记录

提醒:首先确定板子的flash类型(可以给板子通电查看打印的信息,见图1。板子刚通电按下任意键进入uboot界面,如图一,显示hisilicon# 的行,表示进入成功,输入printenv可以查看已经设置的bootargs和bootcmd参数,这样可以了解到之前系统boot,kernel和rootfs分区的大小以及flash的类型,就可以提前对刷三件套有了解),海思支持三种flash(SPI nor flash,SPI nand flash,eMMC),因为每种的flash对应不同的rootfs打包类型(jffs2,yaffs2,ext4)和bootargs参数,具体可以参考《裸烧及非裸烧升级使用手册》文档介绍。其中裸烧包括uboot的烧写,非裸烧过程本身启动介质上已经烧写过uboot,不再烧写uboot。从文档中升级包参考图可以看出,rootfs文件系统在不同启动介质上的格式不同,NOR介质为jffs2,NAND介质为yaffs2,eMMC介质为ext4,而uboot和kernel在不同介质上使用相同的文件格式,但是仍然需要根据外围芯片型号和硬件电路原理图对uboot和kernel进行移植编译,需要注意kernel编译时需要开启对应的文件系统支持。

 图1 开机按任意键键入uboot及开机打印的信息

通过图1可以看到板子是nand flash:型号"MX35LF2G14AC",块block size:128K,页page size:2KB,ECC:4bit/512,chip size总容量:256M。

图1.1 开机打印的bootargs和bootcmd参数

通过图1.1了解到板子bootargs参数的设置, tdparts=hinand:1M (Uboot),4M(kernel),251M(rootfs) 。uboot size:1M,kernel size:4M,rootfs size:251M,总size=1M+4M+251M=256M,和flashd size一样。在使用Hitool工具(路径:\海思sdk\Hi3516C V500R001C02SPC010\01.software\pc\HiTool)按分区烧写,uboot,kernel,rootfs的长度必须和bootargs设置的uboot,kernel,rootfs的size一样,见图1.2,Hitool工具使用见海思提供的文档:HiBurn工具使用指南(路径:HI3516DV300+IMX327\海思sdk\ReleaseDoc\zh\01.software\pc\HiTool),海思原厂提供的uboot,rootfs和kernel目录:HI3516DV300+IMX327\海思sdk\Hi3516C V500R001C02SPC010\01.software\board\Hi3516CV500_SDK_V2.0.1.0\Hi3516CV500_SDK_V2.0.1.0\hi3516dv300_spi_smp_image_glibc,下载可以使用的。不推荐使用命令烧写,HiBurn工具烧写简单不容易出错。

图1.2  红框中长度参数代表分区的大小,可以使用“-”代替剩余的长度。

每种flash对应rootfs打包格式如下图2所示:(我不确定nand flash是否能使用jffs2格式的文件,我实验是能烧写进去,但是启动时候找不到roofs,报错)

图2,每种flash对应的文件类型

 每种flash对应bootargs参数写法如下图3,其中bootargs参数的boot,kernel和rootfs的每个大小要与图1.2中的boot,kernel和rootfs长度数值一致,否则使用Hiburn工具会提示烧写不成功。如果bootargs配置错误,如其中的rootfstype参数没有匹配对应的flsh类型,开机就不能识别rootfs。

图3 每种flash对应不同的bootargs和bootcnd参数配置(rootfstype参数不一样)

遇到问题多看海思提供的文档,在去网上浏览。

参考资料:

1.HiBurn工具使用指南.pdf    裸烧及非裸烧升级使用手册.pdf    Hi3516C V500R001C02SPC010资料开发包

2.海思芯片系统镜像烧写教程 - 知乎

3.Hi3516A开发--根文件系统_不积跬步,无以至千里-CSDN博客

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值