1.需要烧录的镜像
编译好SDK之后,在osdrv/pub/image_uclibc生成我们需要的镜像:
接下来我们需要用到uboot、kernel、rootfs,其中rootfs是rootfs_hi3518ev200_64k.jffs2。
2.flash分区
因为嵌入式系统为了简化,没有使用分区表来自动管理flash,所以都是事先定死的。所以在部署
一个嵌入式系统前都要人为的定下一个分区。
分区名 分区大小 起始地址 截至地址
bootloader: 1M 0x00000000 0x00100000
kernel: 3M 0x00100000 0x00400000
rootfs: 12M 0x00400000 0x01000000
3.烧录工具HI_Tool
这个工具是基于java开发的,所以要先安装jre-6u45-windows-i586,安装完后,
启动Hi3518E V200R001C01SPC030\01.software\pc\Hi_TOOl目录中的HiTool.exe
点击hitool平台中的hiburn,进入到工具界面
之后可以看到以下界面,hitool支持串口和网路下载,这里我们仅使用串口进行下载,网路这块,以后有机会在试试看吧。
首先一开始要给开发板接上串口和电源,然后再打开这个hitool工具。
-> 如果一开始看不到串口的话,点击刷新,就会出现串口号。
-> 传输方式选择串口。
-> 选择要下载的文件,只能是我们事先编译好的uboot。
-> 器件是spi
-> 开始地址和长度这个根据我们自己设置的大小来设即可,但不能小于烧录文件的大小。
最后点击烧录就可以开始烧录了。如果还是提醒串口啥的,那就先关闭这个工具,在开发板
不断电的情况下,再从第一步开始做起。
开始烧录的时候,会出现以下窗口,但是进度条不会动的,这时候就要将开发板断电再上电,就可以正常下载了,这个下载方式和51单片机一模一样。下载完成会有提示。
uboot烧录成功。
4.kernel和rootfs烧录与启动系统
使用tftp网络的方式下载:
查看tftp网络是否有问题,有问题解决问题。
忘了插网线。。。。。。。。
成功ping通:
tftp更新并重新烧写kernel的命令序列:按顺序执行。
mw.b 0x82000000 ff 0x300000
tftp 0x82000000 uImage_hi3518ev200
sf probe 0
sf erase 0x100000 0x300000
sf write 0x82000000 0x100000 0x300000
kernel下载完成。
tftp更新并重新烧写rootfs的命令序列:按顺序执行
mw.b 0x82000000 ff 0xc00000
tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2
sf probe 0
sf erase 0x400000 0xc00000
sf write 0x82000000 0x400000 0xc00000
rootfs烧录成功。