电子产业一站式赋能平台

PCB联盟网

搜索
查看: 526|回复: 0
收起左侧

鸿蒙OS源码结构及编译烧写(二)

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2020-9-16 15:56:35 | 显示全部楼层 |阅读模式
鸿蒙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官网发布内容为准。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条


联系客服 关注微信 下载APP 返回顶部 返回列表