欢迎光临散文网 会员登陆 & 注册

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

2022-04-10 20:23 作者:AlgoIdeas  | 我要投稿


目前最新发布的版本为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](https://gitee.com/algoideas/device_unionpi),目前暂未合入到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)、打开烧录软件,此时会在烧录软件界面,显示识别到的设备:

USB Burn Tool


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

镜像选择


    烧录过程状态如下:        

烧录状态


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

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

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

OpenHarmony在Amlogic A311D芯片平台的快速开发上手指南的评论 (共 条)

分享到微博请遵守国家法律