`
《目录》
一、硬件安装 见 https://bbs.elecfans.com/jishu_2025413_1_1.html(链接加不上)
二、虚拟机搭建 见 https://bbs.elecfans.com/jishu_2025413_1_1.html(链接加不上)
三、源码编译 见 https://bbs.elecfans.com/jishu_2025413_1_1.html (链接加不上)
四、烧录环境搭建
五、硬件烧录
六、案例代码
七、常见问题分析&工具总结
《正文》
四、烧录环境搭建
安装以上的软件就可以了,软件想要可以在下面留言,因为发这篇文章,附件怎么也上传不上去,网盘也满了。
HiTool的功能:
(1)硬件烧写程序
(2)链接硬件中的终端
五、硬件烧录
烧录很简单,只要你编译完Harmony的代码,之后会在相应的位置生成,你需要的烧录文件。不要用Visual Studio Code烧录,太麻烦了,我弄了半天才弄好,而且资料少,没有必要这么执着,就因为我太执着了,才失去的太多太多。。。。
哎,不感叹了,先说一下应该烧录的文件有哪些,之后在告诉你怎么烧录!!!(不用背,不用记,这不是考试,复制到一个地方,烧录时候找就行)
需要注意的是:首先虚拟机是否打开,虚拟机的ip是否改变了。如果改变了一定要重新映射硬盘
我映射的是Z盘
z:harmonycodecode-1.0vendorhisihi35xxhi3518ev300ubootoutootu-boot-hi3518ev300.bin 开始地址0 地址长度1M
z:harmonycodecode-1.0vendorhisihi35xxhi35xx_inithi3518ev300OHOS_Image.bin 开始地址1M 地址长度6M
z:harmonycodecode-1.0outipcamera_hi3518ev300
ootfs.img 开始地址7M 地址长度8M
z:harmonycodecode-1.0outipcamera_hi3518ev300userfs.img 开始地址15M 地址长度1M
首先把电路板的两根线都都连接上,不要连接反了,如果链接反了则要烧毁电路主板。
之后把两条USB接口都插到同一台电脑上。点击【刷新】按钮,查看串口处是否出现接口。
如果没有出现,有两个原因 (1)没有安装USB-to-Serial 工具 (2)数据线坏了或者电路板烧了 最后可能的是(1)
之后选择串口,在选择【分区烧录】。问什么烧录这些文件,为什么选择分区烧录,不要问,就这么做就行了,harmonyOS官网说的,这就是王八的屁股规定。
之后下面的是最重要的,其实上面的一样重要,缺谁都玩不转!!!
点击+号,把这些地址都添加进去
z:harmonycodecode-1.0vendorhisihi35xxhi3518ev300ubootoutootu-boot-hi3518ev300.bin 开始地址0 地址长度1M
z:harmonycodecode-1.0vendorhisihi35xxhi35xx_inithi3518ev300OHOS_Image.bin 开始地址1M 地址长度6M
z:harmonycodecode-1.0outipcamera_hi3518ev300
ootfs.img 开始地址7M 地址长度8M
z:harmonycodecode-1.0outipcamera_hi3518ev300userfs.img 开始地址15M 地址长度1M
别忘了修改开始地址与地址长度 直接写 1M,6M就行
写完之后点击【烧写】按钮,就等个10分20分的就烧写进去了,一直选择串口就行。、
烧写完毕之后 要重新板子内的程序,打开终端工具。
连接终端,输入命令。
看到我下面的红框了嘛,一个设置终端,一个连接终端。设置完终端之后,连接终端。连接终端成功之后,多按几下回车就行了,之后输入命令:reset,出现OHOS #就成功了。
如果出现错误,在后面我会进行解决。
六、案例代码
案例代码,其实官网就有,这里我在说几句就行了。以后我会出几期视频,来谢谢这个代码,用C语言写的,大家在学习编程的时候,应该都是C语言启蒙的。应该很容易就学会的。其实C语言是个包容性很强的一个东西,别看是过程性语言,不是什么面向对象的高级语言,但是他依然坚挺着,为什么?因为他学习成本实在是太低了,而且太简单了,而且他是所有现代高级语言的祖师爷,别说什么汇编语言,汇编学习个几年未必入门,太难理解了,完全不用去了解他,除非你有怪癖。而且C语言是所有底层架构的唯一代码,因为他和硬件太密切了,开发硬件,目前就有C语言和汇编。所有的操作系统、常用软件、硬件驱动、底层组件、核心算法、数据库,都离不开C语言。怎么学好他呢,很简单,一个链接就搞定【https://www.runoob.com/cprogramming/c-standard-library.html】。常看,总看,一直看,活到啥时候,看到啥时候。你就是大牛了。废话不说,先看看官网的案例代码。
还记得上面讲的在虚拟机中的代码文件夹吧,就是他,怎么打开,用VS Code 。记住了,VS Code是用来写代码的,因为轻量,插件多,方便应用,虚拟机是用来编译代码的。VS Code需要安装华为的插件,才能打开HarmonyOS项目,这个插件就是:DevEcoDeviceTool-1.0.1.vsix,还是留言我给你把,这个论坛上传附件真是太难了。
安装这个VS Code安装完这插件,怎么安装,自行百度,之后会在右面出现一个logo。
点击进去,选择【Import Progect】
右面会出现一列项目,其中有LInux源码,有Harmony内核源码,还有项目代码。咱们要看就是项目代码,以后有时间,咱们一起研究HarmonyOS的内核源码,真的很有意思,他们的设计思路真的很言简意赅。在我看来就是把复杂的内容简单化,抽象化,毕竟只要写代码,抽象就是中心思想(说到心里了吧)。
这就是HarmonyOS的项目,咱们的开发项目文件夹在applications/sample/camera/app/src/
七、常见问题分析&工具总结
工具列表:VS Code,HiTool.exe,VM
常见问题分析:
1.烧写之后reset的时候,命令行提示CoapReadHandle coin select begin,这个时候要在编译的时候 用这个命令python build.py ipcamera_hi3518ev300 -b debug
2.烧写之后reset的时候,命令好提示Error distro_bootcmd not defined,这个时候输入
setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";
setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";
saveenv
3.烧写之后reset的时候,命令行提示 Warning - bad CRC, using default environment警告,这个时候输入
env default -a
saveenv
`