加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 一、配套資料構(gòu)成
    • 二、編譯 OpenHarmony SDK
    • 三、燒錄并運(yùn)行系統(tǒng)
    • 四、快速測試和應(yīng)用開發(fā)
    • 五、測評總結(jié)
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

真香!在嵌入式開發(fā)板上面適配 OpenHarmony!

10/04 11:55
1334
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師。關(guān)注我,一起變得更加優(yōu)秀!

我們在前面的文章里面提到,不管是國家政策層面,還是企事業(yè)單位方案決策,抑或是高校教育教材,無不體現(xiàn)出了嵌入式軟硬件全面國產(chǎn)化的技術(shù)趨勢。

現(xiàn)在很多嵌入式開發(fā)板為了順應(yīng)技術(shù)國產(chǎn)化的時代趨勢,分別根據(jù)自身的產(chǎn)品特點(diǎn),推出了軟硬件全國產(chǎn)解決方案,可以點(diǎn)擊以下鏈接進(jìn)行回顧:蘋果iPhone16發(fā)布了,嵌入式鴻蒙,國產(chǎn)化程度有多高?

開源國產(chǎn)軟件框架方面,OpenHarmony可以算是一個典型的代表,它是由開放原子開源基金會(OpenAtom Foundation)孵化及運(yùn)營的開源項(xiàng)目。

OpenHarmony 的目標(biāo)是面向全場景、全連接、全智能時代,基于開源的方式,搭建一個智能終端設(shè)備操作系統(tǒng)的框架和平臺,促進(jìn)萬物互聯(lián)產(chǎn)業(yè)的繁榮發(fā)展。

OpenHarmony 的開發(fā)者主要分兩種類別:面向設(shè)備開發(fā)和面向應(yīng)用開發(fā)。面向應(yīng)用開發(fā)主要是手機(jī)APP側(cè)的,而面向設(shè)備開發(fā),就是屬于我們嵌入式軟件開發(fā)的范疇(也稱嵌入式OpenHarmony)。

根據(jù)硬件芯片的內(nèi)存資源情況,嵌入式設(shè)備端的OpenHarmony主要分為三種類型:輕量系統(tǒng),小型系統(tǒng),標(biāo)準(zhǔn)系統(tǒng),如下圖所示:

本篇文章,我們基于創(chuàng)龍的 TL3568-EVM 開發(fā)板,從配套資料、編譯SDK、系統(tǒng)燒錄運(yùn)行、快速測試和應(yīng)用開發(fā)這幾個方面,來綜合體驗(yàn)一下嵌入式OpenHarmony標(biāo)準(zhǔn)版操作系統(tǒng)。

創(chuàng)龍TL3568-EVM開發(fā)板資源圖解

一、配套資料構(gòu)成

TL3568-EVM 開發(fā)板所配套的 OpenHarmony 資料包如下圖所示,其中,最關(guān)鍵的軟件文檔主要集中在【3-用戶手冊】、【4-軟件資料】、【6-開發(fā)參考資料】這幾個文件夾。

在【3-用戶手冊】文件夾里面,主要提供了開發(fā)環(huán)境搭建和調(diào)試軟件安裝教程,提供了快速測試指引文檔,提供了串口讀寫應(yīng)用開發(fā)手冊,以及提供了OpenHarmony SDK的編譯和固化文檔,如下圖所示。

【4-軟件資料】文件夾主要是OpenHarmony-v3.2.4-Release-v1.0 標(biāo)準(zhǔn)系統(tǒng) SDK,以及一些開發(fā)過程中需要使用到的工具軟件,等等。

【6-開發(fā)參考資料】文件夾主要是 Rockchip RK3568 的官方參考文檔以及芯片數(shù)據(jù)手冊,還有創(chuàng)龍根據(jù)自身經(jīng)驗(yàn)總結(jié)的開發(fā)參考筆記。

二、編譯 OpenHarmony SDK

根據(jù)《3-1-OpenHarmony系統(tǒng)使用手冊.pdf》里面的內(nèi)容,可以完成OpenHarmony-v3.2.4-Release-v1.0標(biāo)準(zhǔn)系統(tǒng)的編譯工作。

根據(jù)文檔的指引,先把OpenHarmonySDK上傳到ubuntu的工作目錄下,然后對其進(jìn)行解壓,整個SDK軟件包解壓前大約7.5GB空間,解壓后預(yù)計(jì)占用14GB空間。

(友情提示:目前OpenHarmony-v3.2.4-Release僅支持在ubuntu18或ubuntu20系統(tǒng)進(jìn)行編譯,不支持更高版本的ubuntu系統(tǒng))

在編譯SDK之前,需要根據(jù)文檔的1.2節(jié)的內(nèi)容,安裝Python3相關(guān)的工具,以及執(zhí)行以下兩個腳本:env_setup.sh 和 prebuilts_download.sh,安裝編譯SDK所需的軟件包和工具鏈。

最后執(zhí)行 sudo dpkg-reconfigure dash 把 Shell 終端切換為 Bash,至此,編譯環(huán)境搭建完成。

在?OpenHarmony SDK 目錄下,執(zhí)行 ./build.sh?--product-name rk3568 --ccache 命令,開始進(jìn)行 SDK 編譯。

經(jīng)過漫長的等待(取決于你的電腦性能),如無意外一般都會編譯成功。(通常都會發(fā)生意外,一般都是內(nèi)存分配不足導(dǎo)致的)

編譯成功后,會在 out/rk3568/packages/phone/images/ 目錄下,生成各個鏡像配置文件,如 uboot.img、resource.img、boot_linux.img、system.img 等文件,這些文件將會用來制作 SD 啟動卡或固化到 eMMC 里面。

三、燒錄并運(yùn)行系統(tǒng)

根據(jù)《3-2-系統(tǒng)啟動卡制作及系統(tǒng)固化.pdf》里面的內(nèi)容,可以把編譯成功的鏡像,制作成SD啟動卡,并且讓開發(fā)板從 SD 啟動卡啟動 OpenHarmony系統(tǒng)。

也可以制作 SD 升級卡,通過 SD 升級卡把系統(tǒng)固化在eMMC里面,這種方式通常用于產(chǎn)品批量生產(chǎn)的時候。

資料配套的軟件 SD_Firmware_Tool.exe 主要是用來制作 SD 啟動卡或 SD 升級卡的,而 RKDevTool.exe 主要是通過USB的方式,把系統(tǒng)固化到 eMMC 里面的。

四、快速測試和應(yīng)用開發(fā)

根據(jù)《2-1-評估板測試手冊.pdf》里面的內(nèi)容,我們可以在ubuntu系統(tǒng)里面安裝 HDC 調(diào)試工具,在ubuntu環(huán)境下,對開發(fā)板的多種硬件外設(shè)進(jìn)行快速測試,目前支持的測試項(xiàng)目,如下圖所示。

根據(jù)《2-2-OpenHarmony應(yīng)用開發(fā)手冊.pdf》里面的內(nèi)容,開發(fā)板目前配套了一個串口讀寫例程 uart_rw,可以用于檢驗(yàn)開發(fā)板的 RS232 和 RS485 通信功能。

(通過閱讀源碼發(fā)現(xiàn),這個例程其實(shí)是基于Linux的系統(tǒng)調(diào)用接口開發(fā)的 Linux C 應(yīng)用程序,而不是基于 HDF 驅(qū)動框架開發(fā)的應(yīng)用程序。)

五、測評總結(jié)

根據(jù)創(chuàng)龍 TL3568-EVM 開發(fā)板提供的 OpenHarmony 配套資料,開發(fā)者可以體驗(yàn)一套比較完整的嵌入式設(shè)備端OpenHarmony開發(fā)流程,包括:開發(fā)環(huán)境搭建,編譯SDK,燒錄和固化系統(tǒng)鏡像,編寫簡單的應(yīng)用程序,等等。

由于這款開發(fā)板剛推出不久,并且 OpenHarmony 相關(guān)的資料還在不斷迭代更新,所以這款開發(fā)板所適配的 OpenHarmony 驅(qū)動程序數(shù)量還不是很多,目前支持如下圖所示的外設(shè)驅(qū)動程序。

配套資料里面沒有提供詳細(xì)的 OpenHarmony SDK 移植適配過程,SDK的具體介紹和相關(guān)的 HDF 驅(qū)動手冊也有待更新,但對專注于應(yīng)用業(yè)務(wù)開發(fā)的工程師來說,影響不是很大。

(目前網(wǎng)絡(luò)上貌似也比較少嵌入式 OpenHarmony 的系統(tǒng)教程,期待不久的將來能有開發(fā)板廠家可以跟進(jìn)~)

總的來說,TL3568-EVM 所配套的 OpenHarmony 系統(tǒng),適合用在一些HDF驅(qū)動程序已經(jīng)適配的業(yè)務(wù)場景,面向的用戶群體是有一定開發(fā)經(jīng)驗(yàn)的嵌入式軟件工程師,不太適合新手進(jìn)行學(xué)習(xí)入門。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜