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

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

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

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

[復(fù)制鏈接]

448

主題

448

帖子

539

積分

二級(jí)會(huì)員

Rank: 2

積分
539
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-23 17:50:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師! n! U% F1 a% ]
關(guān)注我,一起變得更加優(yōu)秀!
( h: F2 e5 Y) t2 c3 T我們?cè)谇懊娴奈恼吕锩嫣岬,不管是國家政策層面,還是企事業(yè)單位方案決策,抑或是高校教育教材,無不體現(xiàn)出了嵌入式軟硬件全面國產(chǎn)化的技術(shù)趨勢(shì)。
( O) q; i& E% }5 {3 W  J0 Q
7 P  `$ H9 X) I: M現(xiàn)在很多嵌入式開發(fā)板為了順應(yīng)技術(shù)國產(chǎn)化的時(shí)代趨勢(shì),分別根據(jù)自身的產(chǎn)品特點(diǎn),推出了軟硬件全國產(chǎn)解決方案,可以點(diǎn)擊以下鏈接進(jìn)行回顧。( T5 ~+ V$ X+ j
7 c& O! a+ u0 ^7 C  R
蘋果iPhone16發(fā)布了,嵌入式鴻蒙,國產(chǎn)化程度有多高?: B3 P' U: e& H# q2 B1 n+ p
6 k6 O, |/ ^  L1 y% `
在開源國產(chǎn)軟件框架方面,OpenHarmony可以算是一個(gè)典型的代表,它是由開放原子開源基金會(huì)(OpenAtom Foundation)孵化及運(yùn)營的開源項(xiàng)目。
% ~" |1 G# X4 j' M/ d% I% C2 Y$ R
OpenHarmony 的目標(biāo)是面向全場(chǎng)景、全連接、全智能時(shí)代,基于開源的方式,搭建一個(gè)智能終端設(shè)備操作系統(tǒng)的框架和平臺(tái),促進(jìn)萬物互聯(lián)產(chǎn)業(yè)的繁榮發(fā)展。" ^% y% Z- a9 Q, {! ?

7 o+ O7 @# L; }- G: Z: ?5 }OpenHarmony 的開發(fā)者主要分兩種類別:面向設(shè)備開發(fā)和面向應(yīng)用開發(fā)。面向應(yīng)用開發(fā)主要是手機(jī)APP側(cè)的,而面向設(shè)備開發(fā),就是屬于我們嵌入式軟件開發(fā)的范疇(也稱嵌入式OpenHarmony)。
  \. I( Z# V6 m2 {) ]* H9 T$ |; A2 J* v5 A6 V

0 b: f# M& u1 l( ~: R根據(jù)硬件芯片的內(nèi)存資源情況,嵌入式設(shè)備端的OpenHarmony主要分為三種類型:輕量系統(tǒng),小型系統(tǒng),標(biāo)準(zhǔn)系統(tǒng),如下圖所示:
# a8 V) s+ ~% m+ Y/ k& R4 t) ]2 @" a0 ?3 i# [1 t
/ T9 u& n9 Z' }2 @) B* w
, j1 y7 m$ S- q( N
& }+ N, l5 a% c
本篇文章,我們基于創(chuàng)龍的 TL3568-EVM 開發(fā)板,從配套資料、編譯SDK、系統(tǒng)燒錄運(yùn)行、快速測(cè)試和應(yīng)用開發(fā)這幾個(gè)方面,來綜合體驗(yàn)一下嵌入式OpenHarmony標(biāo)準(zhǔn)版操作系統(tǒng)。
. ?" c- Z  K( d3 r) [/ S3 `
' t. M8 @4 [) T" J: f/ n: d: I$ r創(chuàng)龍TL3568-EVM開發(fā)板資源圖解- h) w! _2 z/ {, p& j: T8 A$ O

. ?/ W( }# ?! D  D. i  H) J一、配套資料構(gòu)成
  H/ Y) B2 V$ ~$ U; b
8 c# Y2 H. c% t7 UTL3568-EVM 開發(fā)板所配套的 OpenHarmony 資料包如下圖所示,其中,最關(guān)鍵的軟件文檔主要集中在【3-用戶手冊(cè)】、【4-軟件資料】、【6-開發(fā)參考資料】這幾個(gè)文件夾。7 |" y# J. r! {. K
( E3 v, r2 a1 @5 `6 Q* U
% Y2 }4 `9 p! S' f( }
( \- U- C2 D! ~' ~/ S
在【3-用戶手冊(cè)】文件夾里面,主要提供了開發(fā)環(huán)境搭建和調(diào)試軟件安裝教程,提供了快速測(cè)試指引文檔,提供了串口讀寫應(yīng)用開發(fā)手冊(cè),以及提供了OpenHarmony SDK的編譯和固化文檔,如下圖所示。
; j5 E5 y- I) F1 ^9 l; S3 X  ^7 v' a! Z& e+ A! T( ]5 }% o

6 x- t5 D" o( t
  D, a- h( J$ {6 j$ [% ]1 d【4-軟件資料】文件夾主要是OpenHarmony-v3.2.4-Release-v1.0 標(biāo)準(zhǔn)系統(tǒng) SDK,以及一些開發(fā)過程中需要使用到的工具軟件,等等。; Z* e1 m2 F' c7 l1 ?

! J1 ^: V& e8 S  ]【6-開發(fā)參考資料】文件夾主要是 Rockchip RK3568 的官方參考文檔以及芯片數(shù)據(jù)手冊(cè),還有創(chuàng)龍根據(jù)自身經(jīng)驗(yàn)總結(jié)的開發(fā)參考筆記。
  Y; w/ ~* H- m* j3 ?8 ^8 O( o! P4 D/ D5 ~1 t; V! m$ |' i
二、編譯 OpenHarmony SDK
# s- f! A% R( I* P, G- |- I! C+ r, ^: ]) a/ }0 t& s; c* m$ H8 p
根據(jù)《3-1-OpenHarmony系統(tǒng)使用手冊(cè).pdf》里面的內(nèi)容,可以完成OpenHarmony-v3.2.4-Release-v1.0標(biāo)準(zhǔn)系統(tǒng)的編譯工作。
0 U* X. g3 ]. E( x8 C0 ]$ D0 [3 }% N$ ?' k) Y' o- [- E% n. C: X
根據(jù)文檔的指引,先把OpenHarmonySDK上傳到ubuntu的工作目錄下,然后對(duì)其進(jìn)行解壓,整個(gè)SDK軟件包解壓前大約7.5GB空間,解壓后預(yù)計(jì)占用14GB空間。
0 B9 y1 P, l# t, X8 v/ b
5 g% f4 @. e- t0 B(友情提示:目前OpenHarmony-v3.2.4-Release僅支持在ubuntu18或ubuntu20系統(tǒng)進(jìn)行編譯,不支持更高版本的ubuntu系統(tǒng))
: `2 i* C" C- n# u8 J7 g% w. Z/ W7 Z. m6 {' |6 R
! e# \6 D4 {* _8 [3 h6 ^" W! ?; x
在編譯SDK之前,需要根據(jù)文檔的1.2節(jié)的內(nèi)容,安裝Python3相關(guān)的工具,以及執(zhí)行以下兩個(gè)腳本:env_setup.sh 和 prebuilts_download.sh,安裝編譯SDK所需的軟件包和工具鏈。0 `+ ]6 ~7 T1 B6 ]
! v3 i8 Q" L& z6 z
最后執(zhí)行 sudo dpkg-reconfigure dash 把 Shell 終端切換為 Bash,至此,編譯環(huán)境搭建完成。
/ r' n8 N, Y9 z9 c5 `, |1 P$ F& c. t# N; Y- d7 |
在 OpenHarmony SDK 目錄下,執(zhí)行 ./build.sh --product-name rk3568 --ccache 命令,開始進(jìn)行 SDK 編譯。. d4 |  `5 F+ y" }8 [

" ?2 t9 m( I" t" L( V2 G( z' W2 ^9 b* k. {5 _

/ h) |. P" H4 y* `經(jīng)過漫長的等待(取決于你的電腦性能),如無意外一般都會(huì)編譯成功。(通常都會(huì)發(fā)生意外,一般都是內(nèi)存分配不足導(dǎo)致的)  D, [$ J: F* M. g+ ]8 v

( k% |. D; G9 u" [/ V# a5 Q' G. M8 f9 H! N' n0 r
+ c4 J- X& f7 O7 W9 X7 m

/ t; ^4 Z9 N  Z1 M' |4 e編譯成功后,會(huì)在 out/rk3568/packages/phone/images/ 目錄下,生成各個(gè)鏡像配置文件,如 uboot.img、resource.img、boot_linux.img、system.img 等文件,這些文件將會(huì)用來制作 SD 啟動(dòng)卡或固化到 eMMC 里面。& F5 G0 d+ m5 F0 k
* V# r# ^6 `' ]' T
) @* y: x: q3 _

- g1 t0 @# ?6 T" [2 a三、燒錄并運(yùn)行系統(tǒng)
. ]; A/ l) u6 ~( ^  Q. U& o9 |# p, D& Y& {- ^
根據(jù)《3-2-系統(tǒng)啟動(dòng)卡制作及系統(tǒng)固化.pdf》里面的內(nèi)容,可以把編譯成功的鏡像,制作成SD啟動(dòng)卡,并且讓開發(fā)板從 SD 啟動(dòng)卡啟動(dòng) OpenHarmony系統(tǒng)。6 H+ s/ {* t) E4 A$ e0 z* ]
% V6 U8 U) p5 N' S2 X! [
也可以制作 SD 升級(jí)卡,通過 SD 升級(jí)卡把系統(tǒng)固化在eMMC里面,這種方式通常用于產(chǎn)品批量生產(chǎn)的時(shí)候。
- ~0 Y- J6 p; v& L* Z- Y6 {9 b0 Z9 j0 P3 R( L; d0 Q: Y

3 h/ C/ u0 G; c5 X
- h2 S2 C  q4 V資料配套的軟件 SD_Firmware_Tool.exe 主要是用來制作 SD 啟動(dòng)卡或 SD 升級(jí)卡的,而 RKDevTool.exe 主要是通過USB的方式,把系統(tǒng)固化到 eMMC 里面的。) W$ V+ R# ?" M! S: y. n1 m
; P5 p# V9 U  s1 i7 D7 K1 z/ B9 U
四、快速測(cè)試和應(yīng)用開發(fā)8 Y2 {, E# D5 }2 e% i+ j* ^' e
! G+ U; D$ o- p2 D8 Z* p  l% |
根據(jù)《2-1-評(píng)估板測(cè)試手冊(cè).pdf》里面的內(nèi)容,我們可以在ubuntu系統(tǒng)里面安裝 HDC 調(diào)試工具,在ubuntu環(huán)境下,對(duì)開發(fā)板的多種硬件外設(shè)進(jìn)行快速測(cè)試,目前支持的測(cè)試項(xiàng)目,如下圖所示。
& {8 |; a* n) k0 W7 F3 ]- \/ N& q
3 }+ e6 V+ u, U* @  K( i) \1 P' h: ?* ^. l
/ }- V; m. n6 `# t
根據(jù)《2-2-OpenHarmony應(yīng)用開發(fā)手冊(cè).pdf》里面的內(nèi)容,開發(fā)板目前配套了一個(gè)串口讀寫例程 uart_rw,可以用于檢驗(yàn)開發(fā)板的 RS232 和 RS485 通信功能。. Y7 m! {0 k5 G% }
1 _5 s' T& A3 t+ P' M4 U
# o- f/ B" x* L  _2 t2 `

( a- I' a/ k1 F" s' R(通過閱讀源碼發(fā)現(xiàn),這個(gè)例程其實(shí)是基于Linux的系統(tǒng)調(diào)用接口開發(fā)的 Linux C 應(yīng)用程序,而不是基于 HDF 驅(qū)動(dòng)框架開發(fā)的應(yīng)用程序。)) D* h( G; i: X, m: J0 G. a- M# }+ ^

/ s8 O( j. J* E" E$ n  }  I6 t5 N五、測(cè)評(píng)總結(jié)
! X$ x+ x! i; P: L$ M) @6 ]: g, E! ~
根據(jù)創(chuàng)龍 TL3568-EVM 開發(fā)板提供的 OpenHarmony 配套資料,開發(fā)者可以體驗(yàn)一套比較完整的嵌入式設(shè)備端OpenHarmony開發(fā)流程,包括:開發(fā)環(huán)境搭建,編譯SDK,燒錄和固化系統(tǒng)鏡像,編寫簡(jiǎn)單的應(yīng)用程序,等等。( }$ d1 [4 ~, A! ^; u4 A4 J

. H4 D5 K) I5 b4 @8 i由于這款開發(fā)板剛推出不久,并且 OpenHarmony 相關(guān)的資料還在不斷迭代更新,所以這款開發(fā)板所適配的 OpenHarmony 驅(qū)動(dòng)程序數(shù)量還不是很多,目前支持如下圖所示的外設(shè)驅(qū)動(dòng)程序。
5 {1 F2 E5 V% C3 M: N0 [* l1 I8 a1 I& ~# T
! o' q! a% r* e( f# e* }0 o3 w1 ?' U/ N& `
; d( O- d0 g- m- [5 [
配套資料里面沒有提供詳細(xì)的 OpenHarmony SDK 移植適配過程,SDK的具體介紹和相關(guān)的 HDF 驅(qū)動(dòng)手冊(cè)也有待更新,但對(duì)專注于應(yīng)用業(yè)務(wù)開發(fā)的工程師來說,影響不是很大。
2 D* x  x! g% H  b0 _; Y: t( z% k- ]0 z/ K  A. h& L# I
(目前網(wǎng)絡(luò)上貌似也比較少嵌入式 OpenHarmony 的系統(tǒng)教程,期待不久的將來能有開發(fā)板廠家可以跟進(jìn)~)
: k  d7 r5 z1 q! Z$ W- r5 c8 F( O( E/ D8 w; N% n
總的來說,TL3568-EVM 所配套的 OpenHarmony 系統(tǒng),適合用在一些HDF驅(qū)動(dòng)程序已經(jīng)適配的業(yè)務(wù)場(chǎng)景,面向的用戶群體是有一定開發(fā)經(jīng)驗(yàn)的嵌入式軟件工程師,不太適合新手進(jìn)行學(xué)習(xí)入門。
% a% s- \7 X2 Q' c  v  Z
2 D5 Z- ~2 f/ f0 j/ u
# B  y+ s% {/ y8 _2 i4 {& @3 n& h
) v! ^2 t; D2 z) C" H" |8 O
# y- v2 `1 i$ K% b7 a: \7 B3 N, \) h/ |0 |* h2 s7 w

9 d' a( X" O, U3 _  u& y# @1 o1 H& g' p2 O, G/ d" o, C$ n
+ ]2 u, w; O& ?. m0 d6 Q9 o

/ Q0 }, S) ^$ ]8 U. h+ |& ]9 E-END-
  n. E% p: F, Q9 |  n往期推薦:點(diǎn)擊圖片即可跳轉(zhuǎn)閱讀* V, a/ D, I/ k0 ]7 x# Y8 G
                                                       
1 x; x* h7 X" b                                                               
9 K+ x# ~/ [& A! f; ~9 ?) @                                                                        # i; C1 Q+ d/ J: J
                                                                               
; D' a3 P# e& v+ Y9 T
; a: l& s6 b# J; f" E3 h4 U+ @                                                                                9 t. ]- ]% v, g# D: r6 \7 f% W
                                                                                        蘋果iPhone16發(fā)布了,嵌入式鴻蒙,國產(chǎn)化程度有多高?" _% j" N7 r% J& M3 t: f
                                                       
  p" }! U/ J$ u1 D* G2 W/ z# b# m, u7 v0 @                                                               
! N4 V+ k) y2 w" k8 P, n" l                                                                       
. _6 D5 C% C, M, _6 A: L2 l' ?                                                                                & b3 V2 r  v1 o6 C' `. {' p) q
1 Q* @7 g, }0 P
                                                                               
$ k1 Q/ b( M$ w9 H! T                                                                                        【5折福利】選型必看!這款RK3588開發(fā)板究竟有何魅力?8 e$ n6 ]* H+ h2 p1 d
                                                                9 ?; a1 W/ w5 f: ]7 ~
                                                                        9 S0 y8 ~; V! G# W. ]* i2 m3 e
                                                                                / H4 r) |8 H) W5 f; z4 K

" r( J( x+ m# L4 L, w                                                                               
$ }; O7 s+ U2 ~1 n& S+ u, G                                                                                        用模塊化和面向?qū)ο蟮姆绞,編寫單片機(jī)LCD驅(qū)動(dòng)程序
5 K& s  O* t- h0 [2 ^                                                                                ( i# O9 X) C0 ?& a6 R0 M
                                                                        % h; d8 p& b1 E4 ~& @8 J
                                                               
1 F# z: y5 K& V' i( y7 x) H1 j- c/ `                                                        我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師6 `. p: k5 a# N; l9 v
關(guān)注我,一起變得更加優(yōu)秀!

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

本版積分規(guī)則

關(guān)閉

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


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