在虚拟机机编译u-boot,kerenl,rootfs,并且烧录到开发板

2021/10/24 23:41:13

本文主要是介绍在虚拟机机编译u-boot,kerenl,rootfs,并且烧录到开发板,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.编译 u-boot,kenerl,rootfs
首先在虚拟机上搭建好环境之后。通过 执行makefile,遇到错误解决错误(记得要先安装交叉编译工具链),执行成功后会在
/share/Hi3518E_SDK_V1.0.3.0/osdrv/pub/image_uclibc ,目录下有烧写好的u-boot,kenerl,rootfs,的镜像文件。

2.烧录
(1)如果是第一次烧录u-boot,要使用HiTool工具,具体操作看文档。

(2)烧录完成后在开发板上运行u-boot,
print:打印u_boot配置信息
set serverip 192.168.1.114 //要把serverip设置成虚拟机的地址。

(3)设置u-boot,kenerl,rootfs分区大小
hls@ubuntu:~/share/Hi3518E_SDK_V1.0.3.0/osdrv/pub/image_uclibc$ du -h *
4.8Mt-hirootfs_hi3518ev200_64k.jffs2
268K u-boot-hi3518ev200.bin
2.6M uImage_hi3518ev200

通过文件的大小可以总结出
u-boot 1M
kerenl 3M
rootfs 12M

烧写u-boot

 hisilicon# mw.b 0x82000000 ff 0x100000 /* 对内存初始化*/ 
 hisilicon# tftp 0x82000000 u-boot-hi3518ev200.bin /*U-boot下载到内存*/ 
 hisilicon# sf probe 0 /*探测并初始化SPI flash*/ 
 hisilicon# sf erase 0x0 0x100000 /*擦除 1M大小*/ 
 hisilicon# sf write 0x82000000 0x0 0x100000 /*从内存写入SPI Flash*/  


烧写 kerenl

hisilicon# mw.b 0x82000000 ff 0x400000 /* 对内存初始化*/ 
 hisilicon# tftp 0x82000000 uImage_hi3518ev200 /*U-boot下载到内存*/ 
 hisilicon# sf probe 0 /*探测并初始化SPI flash*/ 
 hisilicon# sf erase 0x100000 0x400000 /*擦除 1M大小*/ 
 hisilicon# sf write 0x82000000 0x100000 0x400000 /*从内存写入SPI Flash*/  
烧写 rootfs

 hisilicon# mw.b 0x82000000 ff 0xc00000 /* 对内存初始化*/ 
 hisilicon# tftp 0x82000000 t-hirootfs_hi3518ev200_64k.jffs2 /*U-boot下载到内存*/ 
 hisilicon# sf probe 0 /*探测并初始化SPI flash*/ 
 hisilicon# sf erase  0x400000 0xc00000 /*擦除 1M大小*/ 
 hisilicon# sf write 0x82000000  0x400000  0xc00000  /*从内存写入SPI Flash*/  
3.烧写完毕后要配置启动变量
对应的设置命令
 
 set  bootcmd'    sf probe 0          sfread  0x82000000   0x100000 0x400000   bootm   0x82000000   '
  /*sf probe 0  选中flash     bootm  启动*/



set   bootargs   root=/dev/mtdblock2   rootfstype=jffs2   console=ttyAMA0,115200 mem=32M mtdparts=hi_sfc:1024k(u-boot),3072k(kernel),12288k(rootfs)

 



这篇关于在虚拟机机编译u-boot,kerenl,rootfs,并且烧录到开发板的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程