OpenHarmony在Amlogic A311D芯片平台的快速开发上手指南

系统 OpenHarmony
目前最新发布的版本为OpenHarmony-3.1-Release版本,该版本发布于今年3月30日,带来很多新功能,及原有功能的增强。

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://ost.51cto.com​

目前最新发布的版本为OpenHarmony-3.1-Release版本,该版本发布于今年3月30日,带来很多新功能,及原有功能的增强。发布伊始,就已经开始基于该版本,在Amlogic A311D芯片平台进行了适配。

一、开发环境准备

1、Ubuntu 20.04(或18.04)服务器或虚拟机 – (用于源码编译)。

同时也可以采用作者提供的Docker镜像,OpenHarmony的Ubuntu 20.04自制镜像链接如下:

链接: https://pan.baidu.com/s/1eIIL_2Y3G-Os5_HptpX2JQ?pwd=a2im。

提取码: a2im。

2、Windows电脑 – (用于镜像的烧录)。

3、A311D主控的开发板及MIPI屏(没有MIPI屏,可以用HDMI显示)。

Amlogic A311D采用四核ARM Cortex-A73和双核ARM Cortex-A53 CPU,ARM G52 MP4(6EE) GPU,NPU for AI 支持 5.0 TOPS算力,支持摄像头和MIPI-CSI接口,HDMI输出,2个全千兆接口。

开发板针对芯片硬件资源,进行了定制,外观如下:

主要接口简介:

1、 Micro USB 数据线,PC 端需要安装 CH340G 驱动才能正常使用串口功能。

2、 多功能扩展接口为 40PIN,接口兼容树莓派40PIN引脚。

3、 I2S 接口为 16PIN 双列插针接口。

4、 位姿传感器采用板载应美盛公司的高灵敏度 9 轴传感器芯片 ICM-20948。

5、 4G 通 讯 模 组 可 采 用 本 公 司 的 4G 模 组 , 或 者 相 应 接 口 序 列 的 模 组。

6、 MIPI CSI 接口 接口序列兼容树莓派。

7 、MIPI DSI 接口 接口序列兼容树莓派。

8 、PWM 接口 接口序列为: 3V3/PWM_1/PWM_2/GND。

9 、TTL 接口 接入时需注意信号接电平为: 1.8V 接口序列为: 3V3/TX/RX/GND。

10、 ADC 接口接入时需注意信号接电平为: 1.8V 接口序列为: 3V3/ADC_1/ADC_2/GND。

11 、485 接口 接口序列为: GND/485_B/485_A /5V。

12 、CAN bus 接口 接口序列为: 5V/CAN_L/CAN_H/GND。

13、 喇叭接口 接口序列为: SPKR-/ SPKR +/ SPKL -/ SPKL+。

二、源码下载与编译

源码下载地址:​​gitee​​,目前暂未合入到Openharmony主仓库(目前在进行中),请先按照以下参考步骤进行下载,或参考gitee介绍进行下载。

1、源码下载。

mkdir openharmony
cd openharmony
repo init -u https://gitee.com/algoideas/unionpi -b OpenHarmony-3.1-Release -m devboard_unionpi.xml --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
./build/prebuilts_download.sh --skip-ssl
# 打入unionpi相关补丁到openharmony中(注意:请在代码下载完成后执行)
./device/unionpi/build/patch-unionpi.sh

注:源码下载过程需要10几分钟不等,请耐心等待,如果上次未下载完成,可以继续下载。

2、编译方法。

./build.sh --product-name a311d --ccache

编译完成后,效果如下图所示:

第一次编译可能需要20几分钟,第二次编译时间比较短。

三、固件打包与下载

编译完成后需要,进行对镜像进行打包,然后进行烧写。

1、固件打包。

执行以下命令。

./device/unionpi/build/packer-unionpi.sh

固件打包完成,生成路径为编译根目录下的out/a311d/packages/phone/images/OpenHarmony.img。

其中部分打包日志如下:

[Msg]Pack Item[USB         ,              DDR] from (/home/AlgoIdeas/openharmony/OpenHarmony-3.1-Release/device/unionpi/prebuilts/images/u-boot.bin),sz[0x189770]B,fileType[normal]
[Msg]Pack Item[USB , UBOOT] from (/home/AlgoIdeas/openharmony/OpenHarmony-3.1-Release/device/unionpi/prebuilts/images/u-boot.bin),Duplicated for DDR.USB
... ...
[Msg]Pack Item[PARTITION , system] from (/home/AlgoIdeas/openharmony/OpenHarmony-3.1-Release/device/unionpi/prebuilts/images/system.img),sz[0x25800000]B,fileType[normal]
[Msg]Pack Item[VERIFY , system] from (/home/AlgoIdeas/openharmony/OpenHarmony-3.1-Release/device/unionpi/prebuilts/images/system.img),vry[sha1sum af04555d04c096cb3b968dbba00895e856c980ec]
[Msg]Pack Item[PARTITION , vendor] from (/home/AlgoIdeas/openharmony/OpenHarmony-3.1-Release/device/unionpi/prebuilts/images/vendor.img),sz[0xffff000]B,fileType[normal]
[Msg]Pack Item[VERIFY , vendor] from (/home/AlgoIdeas/openharmony/OpenHarmony-3.1-Release/device/unionpi/prebuilts/images/vendor.img),vry[sha1sum 80ca8bdaeb68f24e69649381c9e0125ac87b0951]
[Msg]version:0x2 crc:0x69625cf8 size:1469162720 bytes[1401MB]
Pack image[/home/AlgoIdeas/openharmony/OpenHarmony-3.1-Release/out/a311d/packages/phone/images/OpenHarmony.img] OK

2、固件烧录。

固件支持USB烧写,也支持TFTP及U盘烧写,以下主要介绍USB烧写,烧写前需要安装好Amlogic USB烧写工具,工具下载地址在devic/unionpi/a311d/tools/windows目录下。

烧录步骤:

(1)开发板上电,并同时按住升级键(中间位置),等待Windows电脑识别到开发板。

(2)打开烧录软件,此时会在烧录软件界面,显示识别到的设备:

接下来在工具栏,文件-> 选择烧录的OpenHarmony.img固件,并可选择不进行校验,然后点击 <开始> 进行烧录即可,如下图所示:

烧录过程状态如下:

等待烧录完成后,设备自动重启即可。

四、结语

在Amlogic A311D 芯片上OpenHarmony的适配基本过程,和目前开源的代码,同样可以适配到其他A311D芯片平台的开发板或机顶盒等,甚至Amlogic或其他芯片平台都有借鉴意义。

至此,A311D的快速开发上手完毕。

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://ost.51cto.com​

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2024-01-29 00:36:50

Backstage设施工具

2021-11-26 09:40:37

EclipseIDEA开发

2020-04-23 09:33:32

Android 协程开发

2021-01-26 08:37:18

MobXVueReact

2014-06-24 09:41:56

Android Stu教程

2017-07-17 10:11:57

windows10Linux操作系统

2016-06-20 10:20:22

Docker云计算

2014-01-22 10:00:10

Android SDKAndroid开发

2013-12-26 15:40:33

Android SDK项目

2013-12-04 14:44:41

Android SDK用户交互

2013-12-04 13:27:56

Android SDK项目

2014-06-06 14:25:03

iOS 8SwiftWWDC2014

2013-12-26 15:14:38

Android SDK运行调试

2020-11-17 08:43:20

ElasticSear

2012-08-01 17:39:17

2011-08-23 11:25:40

LUA函数TOC

2022-09-05 14:45:56

前端K8S

2013-12-26 14:52:52

Android SDK物理设备

2021-01-19 06:16:05

前端Babel 技术热点

2013-12-26 15:47:59

Android SDK应用程序
点赞
收藏

51CTO技术栈公众号