|

鸿蒙OS源码结构及编译烧写(二),
USB
烧写方式
步骤 1 安装USB驱动。 请参考发布包中上海海思U-boot配置文档《HiBurn 工具使用指南》,安装USB驱动,文档存放于ReleaseDoc目录内。 USB驱动安装成功图
15.png (8.06 KB, 下载次数: 0)
下载附件 保存到相册
26 分钟前 上传
步骤 2 确认Hi3518EV300单板内含有USB下载功能的U-boot版本,若不支持,请将上海海思提供的最新U-boot文件烧入板中。 在U-boot界面输入“
help“命令并回车,查看结果中是否存在usbtftp命令。 确认U-boot支持USB下载
16.png (11.28 KB, 下载次数: 0)
下载附件 保存到相册
25 分钟前 上传
步骤 3 按标号,确认如下内容。 USB口烧写配置图
17.png (42.35 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传 1. 选择芯片标号为“Hi3518EV300”。 2. 选择“DDR烧写“。 3. 传输方式选择“USB口“ 4. 选择需要烧写的文件路径(路径包含harmony_Image.bin和rootfs.img文件)。 5. 点击“启动烧写”。
步骤 4 启动烧写后,弹出界面,等待单板侧烧入。烧写开始图
18.png (18.28 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
步骤 5 单板侧输入命令烧写harmony_Image.bin及rootfs.img文件,文件大小参数请参考“串口烧写”步骤2。 USB口烧写命令
执行命令 | sf probe 0; mw.b 40000000 ff a00000; usbtftp 40000000 rootfs.img; sf erase 600000 a00000; sf write 40000000 600000 a00000; mw.b 40000000 ff 500000;usbtftp 0x40000000 harmony_Image.bin; sf erase 100000 500000; sf write 40000000 100000 500000; | 命令解释 | 命令原理,使用USB口将文件读取到内存,再从内存中读取写入FLASH中。sf probe 0;表示选择FLASH器件0。 写入rootf.img 文件,mw.b 40000000 ff a00000,清空0x40000000开始,大小为0xa00000字节的空间。usbtftp 40000000 rootfs.img 将rootfs.img文件写入0x40000000的内存地址。sf erase 600000 a00000; sf write 40000000 600000 a00000; 擦除0x600000开始的大小为0xa00000字节的FLASH空间,并将内存中起始地址为0x40000000,大小为0xa00000字节的数据复制到0x600000起始地址,大小为0xa00000字节的FLASH空间上。 写入harmony_Image.bin 文件,mw.b 40000000 ff 500000,清空0x40000000开始,大小为0x500000字节的空间。usbtftp 40000000 harmony_Image.bin 将rootfs.img文件写入0x40000000的内存地址。sf erase 100000 500000; sf write 40000000 100000 500000; 擦除0x100000开始的大小为0x500000字节的FLASH空间,并将内存中起始地址为0x40000000,大小为0x500000字节的数据复制到0x100000起始地址,大小为0x500000字节的FLASH空间上。 |
步骤 6 烧写成功后显示
Written:OK。 ----结束
镜像运行
步骤 1 连接串口:前步骤烧入成功后使用串口工具IPOP连接单板串口,输入回车,串口将显示
“hisilicon #“字样。
步骤 2 修改U-boot的bootcmd及bootargs内容:该步骤为固化操作,可保存执行结果,若U-boot重新烧入,则需要再次执行。 表8-2 U-boot修改参数解释
执行命令 | setenv bootcmd “sf probe 0;sf read 0x40000000 0x100000 0x500000;“; setenv bootargs “console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=6M rootsize=10M“,go 0x40000000;; saveenv;
| 命令解释 | setenv bootcmd “sf probe 0;sf read 0x40000000 0x100000 0x500000;“表示选择FLASH器件0,读取FLASH起始地址为0x100000,大小为0x500000的内容到0x40000000的内存地址。 setenv bootargs “console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=6M rootsize=10M“; 表示设置bootargs为串口输出,rootfs挂载在FLASH上,文件系统类型为jffs2 rw,以支持可读写JFFS2文件系统。 “rootaddr=6M rootsize=10M ”处对应填入实际rootfs.img的烧写起始位置与长度,此处应与HiTool新增文件时所填大小相同。 [ 可选] “go 0x40000000 ”默认配置已将指令固化在启动参数中,单板复位后可自动启动。若想切换为手动启动,可在U-boot启动倒数阶段使用“回车“打断自动启动。 saveenv;表示保存当前配置。 |
步骤 3 若步骤2中使用回车打断自启动,需在U-boot的命令行中,输入
“
go 0x40000000
”指令,启动内核进程,启动成功如下图。 系统启动图
19.png (27.67 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
步骤 4 根目录下,在命令行输入指令“
./usr/bin/helloworld”执行写入的demo程序,显示成功结果如下图所示,该文件生成请参考应用程序编译。应用程序启动图
20.png (10.23 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传 ----结束
网络烧写方式 该方法只适合支持网口的单板(例如Hi3516DV300),且PC主机必须与单板用网线连接并配置在于同一网络中。
21.png (44.48 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
22.png (205.5 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
23.png (84.59 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
24.png (97.61 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
25.png (62.09 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
33.png (25.24 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
26.png (90.15 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
27.png (108.25 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
28.png (143.45 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
30.png (111.97 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
31.png (114.3 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
32.png (46.16 KB, 下载次数: 0)
下载附件 保存到相册
半小时前 上传
作者:疯壳 注:文档和视频中所有的图片及代码截图皆为示意图,具体以HarmonyOS官网发布内容为准。 |
|