文章目录
1.Uboot烧录
烧录Uboot镜像使用的工具是HiTool
,工具路径如下所示:
Hi3518E_V200R001C01SPC030.rar\Hi3518E V200R001C01SPC030\01.software\pc\HiTool
注意:HiTool的运行需要安装32位的Java运行环境支持
1.1.选择芯片
1.2.烧录uboot
- 首先选择传输方式为:串口
- 然后选择对应的串口号
- 选择烧录Fastboot
- 选择Flash类型为spi
- 选择Uboot镜像位置
- 最后点击烧录即可
2.Flash分区表
我手上使用的板子是使用的16M的SPI Flash,因此按照如下方式分区(参考sdk中的实例文档):
- boot:1M(Uboot环境变量起始地址为512K偏移处,建议按照手册设置为1M)
- kernel:3M
- rootfs:12M
3.烧写kernel
3.1.配置环境
烧写kernel可以使用hitool或者uboot内直接烧写,这里使用uboot中直接烧写的方式进行,uboot配置如下
设置tftp服务器ip:
setenv serverip 192.168.150.160
设置开发板网络属性:
setenv ipaddr 192.168.150.2
setenv netmask 255.255.255.0
save
测试,ping一下tftp服务器,看能否正常通讯
ping 192.168.150.160
出现如下提示,表示网络通讯正常
3.2.通过tftp烧录kernel
kernel镜像烧写方式如下所示:
mw.b 82000000 ff 300000
tftp 82000000 uImage_hi3518ev200
sf probe 0
sf erase 100000 300000
sf write 82000000 100000 300000
4.烧写rootfs
烧写rootfs镜像的方式和烧写kernel方式类似,命令如下
mw.b 82000000 ff C00000
tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2
sf probe 0
sf erase 400000 C00000
sf write 82000000 400000 C00000
5.设置uboot启动参数
5.1.bootargs设置
setenv bootargs 'mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
bootargs说明如下:
- mem=32M:linux内核可用内存为32M(3518e内置64M内存,32M给linux使用,32M给mpp使用)
- console=ttyAMA0,115200:控制台为ttyAMA0,波特率为:115200
- root=/dev/mtdblock2:根文件系统在mtdblock2分区
- rootfstype=jffs2:根文件系统类型为:jffs2
- mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs):指定各分区大小以及名字
5.2.bootcmd设置
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'
bootcmd说明:
- sf probe 0:选中SPI0
- sf read 0x82000000 0x100000 0x300000:从flash的0x100000读取0x300000到内存的0x82000000处
- bootm 0x82000000:从内存的0x82000000处启动内核