6

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

 2 years ago
source link: https://os.51cto.com/article/706307.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

08bcbe8739bf1a072f5933566176acadf41d8d.png

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

​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个全千兆接口。

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

a5e99a3067165731da824422526862297578a4.png

主要接口简介:

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

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

02fbba129894d2eec39127980208e7eba8d3b7.png

第一次编译可能需要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)打开烧录软件,此时会在烧录软件界面,显示识别到的设备:

719b738747f73ffbf40329212ad242be8c47dd.png

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

e2d4b0593d97f5bc64a57054fdbb8420e6ef7f.png

烧录过程状态如下:

957c2b8910432e58f51177fa7c9b0be152a6c8.png

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

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

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

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

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

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

71eea7105a1cf9982d2996c42d853b97bd50ef.jpg


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK