OpenHarmony在Amlogic A311D芯片平臺的快速開發(fā)上手指南
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??
目前最新發(fā)布的版本為OpenHarmony-3.1-Release版本,該版本發(fā)布于今年3月30日,帶來很多新功能,及原有功能的增強(qiáng)。發(fā)布伊始,就已經(jīng)開始基于該版本,在Amlogic A311D芯片平臺進(jìn)行了適配。
一、開發(fā)環(huán)境準(zhǔn)備
1、Ubuntu 20.04(或18.04)服務(wù)器或虛擬機(jī) – (用于源碼編譯)。
同時也可以采用作者提供的Docker鏡像,OpenHarmony的Ubuntu 20.04自制鏡像鏈接如下:
鏈接: https://pan.baidu.com/s/1eIIL_2Y3G-Os5_HptpX2JQ?pwd=a2im。
提取碼: a2im。
2、Windows電腦 – (用于鏡像的燒錄)。
3、A311D主控的開發(fā)板及MIPI屏(沒有MIPI屏,可以用HDMI顯示)。
Amlogic A311D采用四核ARM Cortex-A73和雙核ARM Cortex-A53 CPU,ARM G52 MP4(6EE) GPU,NPU for AI 支持 5.0 TOPS算力,支持?jǐn)z像頭和MIPI-CSI接口,HDMI輸出,2個全千兆接口。
開發(fā)板針對芯片硬件資源,進(jìn)行了定制,外觀如下:
主要接口簡介:
1、 Micro USB 數(shù)據(jù)線,PC 端需要安裝 CH340G 驅(qū)動才能正常使用串口功能。
2、 多功能擴(kuò)展接口為 40PIN,接口兼容樹莓派40PIN引腳。
3、 I2S 接口為 16PIN 雙列插針接口。
4、 位姿傳感器采用板載應(yīng)美盛公司的高靈敏度 9 軸傳感器芯片 ICM-20948。
5、 4G 通 訊 模 組 可 采 用 本 公 司 的 4G 模 組 , 或 者 相 應(yīng) 接 口 序 列 的 模 組。
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主倉庫(目前在進(jìn)行中),請先按照以下參考步驟進(jìn)行下載,或參考gitee介紹進(jìn)行下載。
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相關(guān)補(bǔ)丁到openharmony中(注意:請在代碼下載完成后執(zhí)行)
./device/unionpi/build/patch-unionpi.sh
注:源碼下載過程需要10幾分鐘不等,請耐心等待,如果上次未下載完成,可以繼續(xù)下載。
2、編譯方法。
./build.sh --product-name a311d --ccache
編譯完成后,效果如下圖所示:
第一次編譯可能需要20幾分鐘,第二次編譯時間比較短。
三、固件打包與下載
編譯完成后需要,進(jìn)行對鏡像進(jìn)行打包,然后進(jìn)行燒寫。
1、固件打包。
執(zhí)行以下命令。
./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)開發(fā)板上電,并同時按住升級鍵(中間位置),等待Windows電腦識別到開發(fā)板。
(2)打開燒錄軟件,此時會在燒錄軟件界面,顯示識別到的設(shè)備:
接下來在工具欄,文件-> 選擇燒錄的OpenHarmony.img固件,并可選擇不進(jìn)行校驗,然后點(diǎn)擊 <開始> 進(jìn)行燒錄即可,如下圖所示:
燒錄過程狀態(tài)如下:
等待燒錄完成后,設(shè)備自動重啟即可。
四、結(jié)語
在Amlogic A311D 芯片上OpenHarmony的適配基本過程,和目前開源的代碼,同樣可以適配到其他A311D芯片平臺的開發(fā)板或機(jī)頂盒等,甚至Amlogic或其他芯片平臺都有借鑒意義。
至此,A311D的快速開發(fā)上手完畢。
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??