hi3518e固件烧录

文章目录

  • 1.Uboot烧录
    • 1.1.选择芯片
    • 1.2.烧录uboot
  • 2.Flash分区表
  • 3.烧写kernel
    • 3.1.配置环境
    • 3.2.通过tftp烧录kernel
  • 4.烧写rootfs
  • 5.设置uboot启动参数
    • 5.1.bootargs设置
    • 5.2.bootcmd设置

1.Uboot烧录

烧录Uboot镜像使用的工具是HiTool,工具路径如下所示:

Hi3518E_V200R001C01SPC030.rar\Hi3518E V200R001C01SPC030\01.software\pc\HiTool

注意:HiTool的运行需要安装32位的Java运行环境支持

1.1.选择芯片

hi3518e固件烧录_第1张图片

1.2.烧录uboot

  1. 首先选择传输方式为:串口
  2. 然后选择对应的串口号
  3. 选择烧录Fastboot
  4. 选择Flash类型为spi
  5. 选择Uboot镜像位置
  6. 最后点击烧录即可
    hi3518e固件烧录_第2张图片

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

出现如下提示,表示网络通讯正常
hi3518e固件烧录_第3张图片

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处启动内核

你可能感兴趣的:(hi3518e固件烧录)