当前位置: 首页 > 科技观察

OpenHarmony轻量级系统开发[3]代码编译烧录

时间:2023-03-14 22:59:39 科技观察

更多内容请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com春节期间不断更新节,而本文是参加“星光计划-春节更新贴活动”https://harmonyos.51cto.com/posts/9923摘要:本文简单介绍最新版OpenHarmony的代码目录,简单解读,编译,适合人群烧录:适合Hi3861开发板3.1源码目录。包括组件配置和HDF相关配置,代码目录如下:可以看到有hisilicon文件夹,下面有Hi3516DV300、hispark_aries等,hi3861开发板对应hispark_pegasus中有如下文件:更重要的一个是config.json配置文件,它定义了内核类型和使用哪些子系统。我们稍后会做详细的解读。2device文件夹该文件夹存放的是具体开发板和芯片相关的源代码。这里OpenHarmony分为SoC和Board。其中,SoC包含与具体芯片相关的代码,包括与芯片相关的驱动程序;board指的是与开发板相关的代码,具体与开发板相关。之所以这样设计,是为了将SoC与board区分开来,实现soc相关代码的复用。因为以后可能会出现一个soc有多个板子的情况。其中润禾的WiFi物联网开发板对应的soc是hi3861v100文件夹,board对应的是hispark_pegasus3arch文件夹。该文件夹存放具体芯片架构的代码。文件夹路径:kernel/liteos_m/arch代码路径如下:所以OpenHarmony实现了ARCH(架构)、soc(芯片)、board(开发板)的三层隔离,降低了代码的耦合度。设计更合理。4applications文件夹这个文件夹存放应用程序相关的代码,后面写代码的时候需要添加到这个文件夹下。3.2编译轻量级系统采用hb编译。执行代码根目录下的hbset,第一次进入。可能会提示输入路径,直接输入即可。如果看到如下,说明编译成功:编译好的固件位于:out/hispark_pegasus/wifiiot_hispark_pegasus/其中Hi3861_wifiiot_app_allinone.bin就是我们要烧录到开发板的。3.3烧录(1)基于vscode的烧录OpenHarmony可以基于vscode进行烧录,但是这种方式比较复杂,这里不推荐。有兴趣的读者可以参考:https://device.harmonyos.com/cn/docs/documentation/guide/quickstart-lite-steps-hi3861-burn-0000001190053075(2)建议读者使用此方法进行基于hiburn工具的烧录。比较简单方便。首先下载HiBurn工具,下载链接:https://harmonyos.51cto.com/resource/29用USB线连接3861开发板,如图:(1)打开HiBurn工具,(2)点击selectfile选择下载Hi3861_wifiiot_app_allinone.bin文件,(3)勾选Autoburn选项(4)点击Connect按钮(5)现在按下开发板上的RSTreset按钮,可以看到程序已经开始下载:(6)注意下载最后我们点击断开连接按钮,否则我们会重启重新烧录。我们也可以关闭HiBurn程序。3.4运行效果烧录完成后,我们可以打开串口工具查看串口打印:这是因为默认开启了xts测试,开发板运行后会进行xts测试。如果看到如下提示,说明xts测试通过。更多信息请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com