電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 35|回復(fù): 0
收起左側(cè)

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

[復(fù)制鏈接]

448

主題

448

帖子

539

積分

二級會員

Rank: 2

積分
539
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-23 17:50:00 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師/ T0 R/ H: k  k
關(guān)注我,一起變得更加優(yōu)秀!
$ D: l$ X3 J1 u( a/ s! a我們在前面的文章里面提到,不管是國家政策層面,還是企事業(yè)單位方案決策,抑或是高校教育教材,無不體現(xiàn)出了嵌入式軟硬件全面國產(chǎn)化的技術(shù)趨勢。+ D1 Z$ T  c2 ~0 _1 I/ K, l1 L

5 Z, E8 n% s9 }/ [- F現(xiàn)在很多嵌入式開發(fā)板為了順應(yīng)技術(shù)國產(chǎn)化的時代趨勢,分別根據(jù)自身的產(chǎn)品特點(diǎn),推出了軟硬件全國產(chǎn)解決方案,可以點(diǎn)擊以下鏈接進(jìn)行回顧。9 Z+ l( h9 c6 E+ w2 G, g  X
' G3 R/ m- }3 G, m* t
蘋果iPhone16發(fā)布了,嵌入式鴻蒙,國產(chǎn)化程度有多高?
# Z: w3 l  D9 ~/ y
: w& }' c- P- N  p. E$ Q在開源國產(chǎn)軟件框架方面,OpenHarmony可以算是一個典型的代表,它是由開放原子開源基金會(OpenAtom Foundation)孵化及運(yùn)營的開源項(xiàng)目。3 V5 R$ r  v. a" A
6 M0 [' y% J& q( O  B# z* m2 c3 o
OpenHarmony 的目標(biāo)是面向全場景、全連接、全智能時代,基于開源的方式,搭建一個智能終端設(shè)備操作系統(tǒng)的框架和平臺,促進(jìn)萬物互聯(lián)產(chǎn)業(yè)的繁榮發(fā)展。/ X% h) v2 ~: u" |8 O

) K0 {1 [- j2 p" XOpenHarmony 的開發(fā)者主要分兩種類別:面向設(shè)備開發(fā)和面向應(yīng)用開發(fā)。面向應(yīng)用開發(fā)主要是手機(jī)APP側(cè)的,而面向設(shè)備開發(fā),就是屬于我們嵌入式軟件開發(fā)的范疇(也稱嵌入式OpenHarmony)。0 A& E  X: W+ }, k/ T1 d
, H+ S% e' |. `" ^; U, Y
8 \/ L% @# A" A* X% {
根據(jù)硬件芯片的內(nèi)存資源情況,嵌入式設(shè)備端的OpenHarmony主要分為三種類型:輕量系統(tǒng),小型系統(tǒng),標(biāo)準(zhǔn)系統(tǒng),如下圖所示:) H7 P$ K3 Y1 ~, g. G: H
" u) N9 X! s0 v+ t9 `

$ b1 O! |; y0 a. Q! P: }8 c1 |
& \- C7 A" l, ~# E; r- |% ~/ ^% z0 j, _3 ]2 Q, v8 V
本篇文章,我們基于創(chuàng)龍的 TL3568-EVM 開發(fā)板,從配套資料、編譯SDK、系統(tǒng)燒錄運(yùn)行、快速測試和應(yīng)用開發(fā)這幾個方面,來綜合體驗(yàn)一下嵌入式OpenHarmony標(biāo)準(zhǔn)版操作系統(tǒng)。
. j4 Z4 ^" I, {3 P
8 s& F$ i. ^8 K0 g創(chuàng)龍TL3568-EVM開發(fā)板資源圖解: T: |' i  H! g6 N( e

$ g' K( O+ v0 @% n9 X/ }% w7 F一、配套資料構(gòu)成7 }/ r$ j' S7 E: y* Z0 N
9 b' r0 o0 E) u5 F# E' r  Z; x# Y" I, R
TL3568-EVM 開發(fā)板所配套的 OpenHarmony 資料包如下圖所示,其中,最關(guān)鍵的軟件文檔主要集中在【3-用戶手冊】、【4-軟件資料】、【6-開發(fā)參考資料】這幾個文件夾。4 U- |7 w( _; ^
/ D" {+ l8 R1 q0 ]7 ^# H+ y; t
8 T6 y  H! P3 h1 t4 e& N
' `" j- U& S% N, m- V: \
在【3-用戶手冊】文件夾里面,主要提供了開發(fā)環(huán)境搭建和調(diào)試軟件安裝教程,提供了快速測試指引文檔,提供了串口讀寫應(yīng)用開發(fā)手冊,以及提供了OpenHarmony SDK的編譯和固化文檔,如下圖所示。  i( w+ u' Z) g1 ?
6 _) h' |( C3 v! q% o# Y) G& I5 z
/ L" P' T1 ?: P3 R
, u6 I' P1 a3 Z/ I( ?
【4-軟件資料】文件夾主要是OpenHarmony-v3.2.4-Release-v1.0 標(biāo)準(zhǔn)系統(tǒng) SDK,以及一些開發(fā)過程中需要使用到的工具軟件,等等。
* f4 o, b1 G8 Q9 h# A; C
2 J% g& ~' z) U【6-開發(fā)參考資料】文件夾主要是 Rockchip RK3568 的官方參考文檔以及芯片數(shù)據(jù)手冊,還有創(chuàng)龍根據(jù)自身經(jīng)驗(yàn)總結(jié)的開發(fā)參考筆記。# K+ ^6 H2 i9 }/ a0 z

. p+ u) \9 W  k7 U' p9 Q, c二、編譯 OpenHarmony SDK; K4 S" X3 b  i  W0 p: Y8 b" P
$ E" s8 i2 }; K
根據(jù)《3-1-OpenHarmony系統(tǒng)使用手冊.pdf》里面的內(nèi)容,可以完成OpenHarmony-v3.2.4-Release-v1.0標(biāo)準(zhǔn)系統(tǒng)的編譯工作。
  A) B. z/ R) S: ~/ s5 h
2 G4 @  x7 z! A+ |- K5 |根據(jù)文檔的指引,先把OpenHarmonySDK上傳到ubuntu的工作目錄下,然后對其進(jìn)行解壓,整個SDK軟件包解壓前大約7.5GB空間,解壓后預(yù)計(jì)占用14GB空間。
# v+ E6 _: k; T+ _$ x; e4 b  m& ~" D+ @- Y+ r  h
(友情提示:目前OpenHarmony-v3.2.4-Release僅支持在ubuntu18或ubuntu20系統(tǒng)進(jìn)行編譯,不支持更高版本的ubuntu系統(tǒng))
: F: X5 O# c  i9 L' k6 q+ g4 u# y
1 V7 g: h7 c( f! I4 l- G) I2 Q1 W3 M
在編譯SDK之前,需要根據(jù)文檔的1.2節(jié)的內(nèi)容,安裝Python3相關(guān)的工具,以及執(zhí)行以下兩個腳本:env_setup.sh 和 prebuilts_download.sh,安裝編譯SDK所需的軟件包和工具鏈。
) E/ u( |2 \, {9 A. D- ^+ k0 d# y( U5 |( }
最后執(zhí)行 sudo dpkg-reconfigure dash 把 Shell 終端切換為 Bash,至此,編譯環(huán)境搭建完成。
# }' K) g& C2 C- G$ f
! N: c! j' i9 M$ d% n( p在 OpenHarmony SDK 目錄下,執(zhí)行 ./build.sh --product-name rk3568 --ccache 命令,開始進(jìn)行 SDK 編譯。# e) X( k0 A3 H7 h* j/ {) `
" @% _+ G% I6 k, ~
" L) p( \5 L4 ]* a# m) L

- m6 i% |0 u1 ?! G' M! Y, `7 p經(jīng)過漫長的等待(取決于你的電腦性能),如無意外一般都會編譯成功。(通常都會發(fā)生意外,一般都是內(nèi)存分配不足導(dǎo)致的); O! [% j7 p2 }$ V. E
9 i. i, u- L0 i) c  Y, y. F
( \/ @& @5 N4 V# [
( \% M7 i( U! r9 ?' @3 x# P! j
  {1 Y6 o% e$ E2 k
編譯成功后,會在 out/rk3568/packages/phone/images/ 目錄下,生成各個鏡像配置文件,如 uboot.img、resource.img、boot_linux.img、system.img 等文件,這些文件將會用來制作 SD 啟動卡或固化到 eMMC 里面。
0 V" ^) Z, k) x# p" b
( s( T1 r. p1 B1 W' a; @
* o6 g: Z+ v6 z# H3 H7 P: n9 U2 ?+ F
三、燒錄并運(yùn)行系統(tǒng)
# ^# z& k5 Y8 c& o0 j
6 i3 l! D  F8 P6 ^) _: H8 y根據(jù)《3-2-系統(tǒng)啟動卡制作及系統(tǒng)固化.pdf》里面的內(nèi)容,可以把編譯成功的鏡像,制作成SD啟動卡,并且讓開發(fā)板從 SD 啟動卡啟動 OpenHarmony系統(tǒng)。
# r) u8 J$ ^- O2 a# }
) v9 g" J) g) o+ s" L4 H6 h2 j也可以制作 SD 升級卡,通過 SD 升級卡把系統(tǒng)固化在eMMC里面,這種方式通常用于產(chǎn)品批量生產(chǎn)的時候。0 }  u$ @3 w, K

2 R8 h1 @, p& J! ^- \
) k" I: W* W; F( l0 O, A
8 p2 h4 j' e1 C/ q- j1 E: i資料配套的軟件 SD_Firmware_Tool.exe 主要是用來制作 SD 啟動卡或 SD 升級卡的,而 RKDevTool.exe 主要是通過USB的方式,把系統(tǒng)固化到 eMMC 里面的。3 z- P! F3 j/ p2 Z4 J  D/ [- V
2 `0 b, E/ o) x* X# h" J/ d' R
四、快速測試和應(yīng)用開發(fā)
9 v5 I  D, N  ?2 W7 E: ?! N* O. q* |/ k
根據(jù)《2-1-評估板測試手冊.pdf》里面的內(nèi)容,我們可以在ubuntu系統(tǒng)里面安裝 HDC 調(diào)試工具,在ubuntu環(huán)境下,對開發(fā)板的多種硬件外設(shè)進(jìn)行快速測試,目前支持的測試項(xiàng)目,如下圖所示。$ }. x+ H0 d. V

9 M, E1 a$ B( j: ]0 W* z; Z2 [; r4 _+ |/ _" |

" S! h6 T3 {8 A% ~7 t7 _) W" U根據(jù)《2-2-OpenHarmony應(yīng)用開發(fā)手冊.pdf》里面的內(nèi)容,開發(fā)板目前配套了一個串口讀寫例程 uart_rw,可以用于檢驗(yàn)開發(fā)板的 RS232 和 RS485 通信功能。
( `1 a, n& C+ q
) z: u3 v2 H! N% B0 w3 s* \3 Q  u/ J6 }  _( g" B: r

3 u9 V8 j+ I7 v1 T$ l+ O$ q) |(通過閱讀源碼發(fā)現(xiàn),這個例程其實(shí)是基于Linux的系統(tǒng)調(diào)用接口開發(fā)的 Linux C 應(yīng)用程序,而不是基于 HDF 驅(qū)動框架開發(fā)的應(yīng)用程序。)
6 E; D& G& V( g0 W$ m5 g
- I' N% J1 q8 Q$ r/ e五、測評總結(jié)
: p5 W: J$ C0 a2 x+ ~2 E; z7 }$ Z0 F* c" m+ }' ?
根據(jù)創(chuàng)龍 TL3568-EVM 開發(fā)板提供的 OpenHarmony 配套資料,開發(fā)者可以體驗(yàn)一套比較完整的嵌入式設(shè)備端OpenHarmony開發(fā)流程,包括:開發(fā)環(huán)境搭建,編譯SDK,燒錄和固化系統(tǒng)鏡像,編寫簡單的應(yīng)用程序,等等。7 z3 h4 j" q7 A9 A7 J
7 ]5 X) i' G5 n* a1 ?+ j
由于這款開發(fā)板剛推出不久,并且 OpenHarmony 相關(guān)的資料還在不斷迭代更新,所以這款開發(fā)板所適配的 OpenHarmony 驅(qū)動程序數(shù)量還不是很多,目前支持如下圖所示的外設(shè)驅(qū)動程序。
2 v2 n9 l' s! n1 c) b$ K6 W! F4 @
! T6 d" l. H2 t- r4 q+ H0 F4 I3 D
8 [; t6 I: ^8 j
配套資料里面沒有提供詳細(xì)的 OpenHarmony SDK 移植適配過程,SDK的具體介紹和相關(guān)的 HDF 驅(qū)動手冊也有待更新,但對專注于應(yīng)用業(yè)務(wù)開發(fā)的工程師來說,影響不是很大。! g% T& Q, j: w) X$ T  T- j9 T
4 r% `. Q  g$ L6 }! I
(目前網(wǎng)絡(luò)上貌似也比較少嵌入式 OpenHarmony 的系統(tǒng)教程,期待不久的將來能有開發(fā)板廠家可以跟進(jìn)~)
& s7 e2 O: f% m( ^7 b5 w; Y$ O% L, d2 n- q3 f5 p  v
總的來說,TL3568-EVM 所配套的 OpenHarmony 系統(tǒng),適合用在一些HDF驅(qū)動程序已經(jīng)適配的業(yè)務(wù)場景,面向的用戶群體是有一定開發(fā)經(jīng)驗(yàn)的嵌入式軟件工程師,不太適合新手進(jìn)行學(xué)習(xí)入門。$ A( l7 N) a, i0 r: O" V+ Y

! r. Z& U) `. f/ U: J  u  b6 N4 G$ [" Y6 U' Z- g1 v

% ^1 b% \; i5 q+ G' B. E6 L
2 G+ f' z% @! K/ L/ F" g0 K
- r! f5 Q. w8 X6 N
" j/ [# X. h: w5 G
: V3 }7 Z+ p7 x, Z1 \$ L
3 I: {( R$ r. r2 a- h% Z" P# n. H# X% ^' p5 c
-END-
; A7 R5 |/ f! o) ^# @8 e0 y往期推薦:點(diǎn)擊圖片即可跳轉(zhuǎn)閱讀
, r3 Z2 o) l! M) H4 {' g                                                       
+ A  R: }# b3 J4 |9 D                                                               
5 n+ ]2 e) F, z5 ~! ?6 f8 |                                                                        4 Z+ V7 Q9 O% x+ l
                                                                                / @4 I/ i7 V& U+ F
* ~* z3 N. d4 V( V: \8 g+ g
                                                                               
% Q9 p0 L8 j! Q2 ^( Z$ V' H2 P. V# {                                                                                        蘋果iPhone16發(fā)布了,嵌入式鴻蒙,國產(chǎn)化程度有多高?$ T4 W& }* f# O
                                                        / I+ u; k/ D1 [
                                                               
. ]5 U, Y3 k1 f1 ~0 F0 u& M                                                                       
* x, X8 d2 t0 H6 V7 w: |                                                                                # }; L, r! H) \9 G3 L9 O' n

& i) X5 `2 @& n. Z% U  Q# N                                                                               
8 l5 @' |6 n( ~0 R                                                                                        【5折福利】選型必看!這款RK3588開發(fā)板究竟有何魅力?
/ d2 x. r6 u3 l. r6 I# M                                                                $ y/ X+ M  [/ ^3 I7 D+ g- s: m
                                                                       
& {+ y: N: H& r                                                                                & Z! w2 ]3 M* c/ y

! d+ |* G) I+ f+ H                                                                               
6 T9 p: t: P$ G8 k8 P% L( o                                                                                        用模塊化和面向?qū)ο蟮姆绞,編寫單片機(jī)LCD驅(qū)動程序
7 `) a6 w8 w% h4 _) u                                                                                + q. v5 W" E" g; m  q* I
                                                                        3 w5 k/ b# _0 l' @- }
                                                               
" X& X" @1 J5 d. S- d7 ~- Z2 R  w                                                        我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師
4 l- `( f" [& w: s關(guān)注我,一起變得更加優(yōu)秀!

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)閉

站長推薦上一條 /1 下一條


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表