加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 一、配套资料构成
    • 二、编译 OpenHarmony SDK
    • 三、烧录并运行系统
    • 四、快速测试和应用开发
    • 五、测评总结
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

真香!在嵌入式开发板上面适配 OpenHarmony!

10/04 11:55
2167
阅读需 9 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

我是老温,一名热爱学习的嵌入式工程师关注我,一起变得更加优秀!

我们在前面的文章里面提到,不管是国家政策层面,还是企事业单位方案决策,抑或是高校教育教材,无不体现出了嵌入式软硬件全面国产化的技术趋势。

现在很多嵌入式开发板为了顺应技术国产化的时代趋势,分别根据自身的产品特点,推出了软硬件全国产解决方案,可以点击以下链接进行回顾:苹果iPhone16发布了,嵌入式鸿蒙,国产化程度有多高?

开源国产软件框架方面,OpenHarmony可以算是一个典型的代表,它是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目。

OpenHarmony 的目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

OpenHarmony 的开发者主要分两种类别:面向设备开发和面向应用开发。面向应用开发主要是手机APP侧的,而面向设备开发,就是属于我们嵌入式软件开发的范畴(也称嵌入式OpenHarmony)。

根据硬件芯片的内存资源情况,嵌入式设备端的OpenHarmony主要分为三种类型:轻量系统,小型系统,标准系统,如下图所示:

本篇文章,我们基于创龙的 TL3568-EVM 开发板,从配套资料、编译SDK、系统烧录运行、快速测试和应用开发这几个方面,来综合体验一下嵌入式OpenHarmony标准版操作系统。

创龙TL3568-EVM开发板资源图解

一、配套资料构成

TL3568-EVM 开发板所配套的 OpenHarmony 资料包如下图所示,其中,最关键的软件文档主要集中在【3-用户手册】、【4-软件资料】、【6-开发参考资料】这几个文件夹。

在【3-用户手册】文件夹里面,主要提供了开发环境搭建和调试软件安装教程,提供了快速测试指引文档,提供了串口读写应用开发手册,以及提供了OpenHarmony SDK的编译和固化文档,如下图所示。

【4-软件资料】文件夹主要是OpenHarmony-v3.2.4-Release-v1.0 标准系统 SDK,以及一些开发过程中需要使用到的工具软件,等等。

【6-开发参考资料】文件夹主要是 Rockchip RK3568 的官方参考文档以及芯片数据手册,还有创龙根据自身经验总结的开发参考笔记。

二、编译 OpenHarmony SDK

根据《3-1-OpenHarmony系统使用手册.pdf》里面的内容,可以完成OpenHarmony-v3.2.4-Release-v1.0标准系统的编译工作。

根据文档的指引,先把OpenHarmonySDK上传到ubuntu的工作目录下,然后对其进行解压,整个SDK软件包解压前大约7.5GB空间,解压后预计占用14GB空间。

(友情提示:目前OpenHarmony-v3.2.4-Release仅支持在ubuntu18或ubuntu20系统进行编译,不支持更高版本的ubuntu系统)

在编译SDK之前,需要根据文档的1.2节的内容,安装Python3相关的工具,以及执行以下两个脚本:env_setup.sh 和 prebuilts_download.sh,安装编译SDK所需的软件包和工具链。

最后执行 sudo dpkg-reconfigure dash 把 Shell 终端切换为 Bash,至此,编译环境搭建完成。

在 OpenHarmony SDK 目录下,执行 ./build.sh --product-name rk3568 --ccache 命令,开始进行 SDK 编译。

经过漫长的等待(取决于你的电脑性能),如无意外一般都会编译成功。(通常都会发生意外,一般都是内存分配不足导致的)

编译成功后,会在 out/rk3568/packages/phone/images/ 目录下,生成各个镜像配置文件,如 uboot.img、resource.img、boot_linux.img、system.img 等文件,这些文件将会用来制作 SD 启动卡或固化到 eMMC 里面。

三、烧录并运行系统

根据《3-2-系统启动卡制作及系统固化.pdf》里面的内容,可以把编译成功的镜像,制作成SD启动卡,并且让开发板从 SD 启动卡启动 OpenHarmony系统。

也可以制作 SD 升级卡,通过 SD 升级卡把系统固化在eMMC里面,这种方式通常用于产品批量生产的时候。

资料配套的软件 SD_Firmware_Tool.exe 主要是用来制作 SD 启动卡或 SD 升级卡的,而 RKDevTool.exe 主要是通过USB的方式,把系统固化到 eMMC 里面的。

四、快速测试和应用开发

根据《2-1-评估板测试手册.pdf》里面的内容,我们可以在ubuntu系统里面安装 HDC 调试工具,在ubuntu环境下,对开发板的多种硬件外设进行快速测试,目前支持的测试项目,如下图所示。

根据《2-2-OpenHarmony应用开发手册.pdf》里面的内容,开发板目前配套了一个串口读写例程 uart_rw,可以用于检验开发板的 RS232 和 RS485 通信功能。

(通过阅读源码发现,这个例程其实是基于Linux的系统调用接口开发的 Linux C 应用程序,而不是基于 HDF 驱动框架开发的应用程序。)

五、测评总结

根据创龙 TL3568-EVM 开发板提供的 OpenHarmony 配套资料,开发者可以体验一套比较完整的嵌入式设备端OpenHarmony开发流程,包括:开发环境搭建,编译SDK,烧录和固化系统镜像,编写简单的应用程序,等等。

由于这款开发板刚推出不久,并且 OpenHarmony 相关的资料还在不断迭代更新,所以这款开发板所适配的 OpenHarmony 驱动程序数量还不是很多,目前支持如下图所示的外设驱动程序。

配套资料里面没有提供详细的 OpenHarmony SDK 移植适配过程,SDK的具体介绍和相关的 HDF 驱动手册也有待更新,但对专注于应用业务开发的工程师来说,影响不是很大。

(目前网络上貌似也比较少嵌入式 OpenHarmony 的系统教程,期待不久的将来能有开发板厂家可以跟进~)

总的来说,TL3568-EVM 所配套的 OpenHarmony 系统,适合用在一些HDF驱动程序已经适配的业务场景,面向的用户群体是有一定开发经验的嵌入式软件工程师,不太适合新手进行学习入门。

相关推荐

电子产业图谱