RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HarmonyOS入門講解和代碼編譯運行

yzcdx ? 來源:OS與AUTOSAR研究 ? 作者:thatway ? 2022-11-15 09:40 ? 次閱讀

簡介

華為鴻蒙系統(tǒng)是一款全新的面向全場景的分布式操作系統(tǒng),創(chuàng)造一個超級虛擬終端互聯(lián)的世界,將人、設(shè)備、場景有機地聯(lián)系在一起,將消費者在全場景生活中接觸的多種智能終端,實現(xiàn)極速發(fā)現(xiàn)、極速連接、硬件互助、資源共享,用合適的設(shè)備提供場景體驗。

1.1 抽象的藝術(shù)

b6e30f4c-6475-11ed-8abf-dac502259ad0.png

華為的消費者業(yè)務(wù)很強大,個人消費品注重品控,這恰恰是華為的優(yōu)勢,華為設(shè)備的穩(wěn)定性和對需求響應(yīng)速度都是很好的,這也適合做個人消費品,可以這么說帖上華為的標(biāo)簽,價錢就能漲一點。

但是各種設(shè)備,這里可以統(tǒng)稱為AIOT物聯(lián)網(wǎng)設(shè)備,里面運行的程序千奇百怪,維護成本很高,這么多設(shè)備,里面如果有軟件共性的東西抽取出來一個核心,把這個核心做好,那么這些設(shè)備就不容易出問題,還容易維護,關(guān)鍵還能相互通信,因為有了共同的基礎(chǔ)OS。那么這個核心就是“微內(nèi)核”LiteOS,把最基礎(chǔ)OS的組件放入LiteOS,大家共用,這其實是軟件領(lǐng)域一種“抽象”的概念。

計算機科學(xué)中遇到的所有問題都可通過增加一層抽象來解決。

抽象的優(yōu)點在于它讓上層以較小的代價獲得所需的功能,并同時可以提供一些保護。但抽象同時也是一種限制,會喪失一些應(yīng)有的靈活性。

比如,當(dāng)你在考慮在項目中應(yīng)該使用哪個函數(shù)庫的時候,就常常需要這方面的權(quán)衡:過多的抽象和過少的抽象自然都是不合適的。理解應(yīng)用的需求也很重要。

一個能合理滿足應(yīng)用需求的操作系統(tǒng)設(shè)計是操作系統(tǒng)設(shè)計者需要深入考慮的問題。這也是一種權(quán)衡,過多的服務(wù)功能和過少的服務(wù)功能自然都是不合適的。實際上,我們通過應(yīng)用程序的特征需求來判斷操作系統(tǒng)需要什么程度的抽象和功能。

軟件抽象的直接結(jié)果就是導(dǎo)致“模塊化”和“分層”,從軟件框架圖里面可以看出來:

b71c06f8-6475-11ed-8abf-dac502259ad0.png

LiteOS的特點:輕量級(內(nèi)核小于10k)、低功耗(1節(jié)5號電池最多可以工作5年)。鴻蒙系統(tǒng)可以覆蓋所有的設(shè)備,應(yīng)用在智能設(shè)備上,比如攝像頭、門鈴、體溫計等設(shè)備。利用軟總線將各個設(shè)備連接起來。

1.2 萬法歸一

上面說了抽象出微內(nèi)核,這還遠(yuǎn)遠(yuǎn)不夠,不僅底層代碼可以復(fù)用,野心更大一點上層代碼也可以在不同產(chǎn)品上復(fù)用,真正的“一為萬物,萬物歸一”,修成武林至高秘籍,站在軟件的最高峰。主要由以下概括:

統(tǒng)一OS,彈性部署 一套操作系統(tǒng),滿足大大小小所有設(shè)備的需求,小到耳機,大到車機,智慧屏,手機等,讓不同設(shè)備使用同一語言無縫溝通。

硬件互助,資源共享 搭載HarmonyOS 的每個設(shè)備都不是孤立的,在系統(tǒng)層讓多終端融為一體,成為“超級終端”,終端之間能力互助共享,帶來無縫協(xié)同體驗。

一次開發(fā),多端部署 開發(fā)者基于分布式應(yīng)用框架,寫一次邏輯代碼,就可以部署在多種終端上。

應(yīng)用自由跨端 HarmonyOS 原子化服務(wù)是輕量化服務(wù)的新物種,它提供了全新的服務(wù)和交互方式,可分可合,可流轉(zhuǎn),支持免安裝等特性,能夠讓應(yīng)用化繁為簡,讓服務(wù)觸手可及。

用“簡單”激活你的設(shè)備智能 HarmonyOS 是新一代智能終端操作系統(tǒng)。為不同設(shè)備的智能化、互聯(lián)與協(xié)同提供了統(tǒng)一的語言。設(shè)備可實現(xiàn)一碰入網(wǎng),無屏變有屏,操作可視化,一鍵直達原廠服務(wù)等全新功能。通過簡單而智能的服務(wù),實現(xiàn)設(shè)備智能化產(chǎn)業(yè)升級。

這種大一統(tǒng)的思想,怎么感覺這么熟悉,好像就是中國人骨子里面的“大一統(tǒng)”,我們要搞中央集權(quán),要集中力量辦大事,不允許分裂,吸納包容擴大自己,看來中國人也善于干這個事情。。。

1.3 分層誕生了軟總線

b78ad916-6475-11ed-8abf-dac502259ad0.png

華為提出了“分布式軟總線”,是不是覺得這個名字很高大上,事實證明一個高大上的名字非常的重要,特別是需要對外宣傳的東西,或者是一個老的技術(shù)在一個新領(lǐng)域的應(yīng)用,足可以用高大上的名字去新的領(lǐng)域忽悠一波。分布式軟總線的實質(zhì)就是“通信”,其實就是一個通信協(xié)議,但是名字叫“XXX協(xié)議”,那不是爛大街了,你說很牛逼,原來就個這玩意,都沒人信。

不同設(shè)備間的通信,最常見的就是OSI七層協(xié)議模型,學(xué)過《計算機網(wǎng)絡(luò)》的都清楚。這里出現(xiàn)了一個不按套路出牌的,基于萬物互聯(lián)的需求,覺得七層太復(fù)雜了,需要簡化,直接砍掉三層七層變四層,然后改進下適應(yīng)自己的需求,也算是創(chuàng)新,如下圖:

b7af4134-6475-11ed-8abf-dac502259ad0.png

全場景設(shè)備間可以基于軟總線完成設(shè)備虛擬化、跨設(shè)備服務(wù)調(diào)用、多屏協(xié)同、文件分享等分布式業(yè)務(wù)。分布式軟總線的典型特征

自動發(fā)現(xiàn)/即連即用

高帶寬

低時延

高可靠

開放/標(biāo)準(zhǔn)

將中間的四層協(xié)議棧精簡為一層提升有效載荷,有效傳輸帶寬提升20%。極簡協(xié)議在傳統(tǒng)網(wǎng)絡(luò)協(xié)議的基礎(chǔ)上進行增強:

流式傳輸:基于UDP實現(xiàn)數(shù)據(jù)的保序和可靠傳輸;

雙輪驅(qū)動:顛覆傳統(tǒng)TCP每包確認(rèn)機制;

不懼網(wǎng)損:摒棄傳統(tǒng)滑動窗口機制,丟包快速恢復(fù),避免阻塞;

不懼抖動:智能感知網(wǎng)絡(luò)變化,自適應(yīng)流量控制和擁塞控制;

總結(jié)下,就是參考《計算機組成原理》里面硬件總線的概念,受到啟發(fā),然后把《計算機網(wǎng)絡(luò)》里面的七層模型改四層用起來,最后再根據(jù)業(yè)務(wù)需求做一些修正,滿足不同的需求??粗孟窈唵危鋵崗募夹g(shù)創(chuàng)新角度已經(jīng)算挺大創(chuàng)新了,特別是能工程應(yīng)用。最近看馬斯克吐槽發(fā)論文大多沒用,能工程實踐特別是利用基礎(chǔ)理論,才是一種更有益的創(chuàng)新吧。

1.4 軟件框架介紹

b7d63866-6475-11ed-8abf-dac502259ad0.png

上面放過這個圖,解釋鴻蒙的特性。下面具體看下: 內(nèi)核層 內(nèi)核子系統(tǒng):采用多內(nèi)核(Linux內(nèi)核或者LiteOS)設(shè)計,支持針對不同資源受限設(shè)備選用適合的OS內(nèi)核。內(nèi)核抽象層(KAL,KernelAbstract Layer)通過屏蔽多內(nèi)核差異,對上層提供基礎(chǔ)的內(nèi)核能力,包括進程/線程管理、內(nèi)存管理、文件系統(tǒng)、網(wǎng)絡(luò)管理和外設(shè)管理等。

驅(qū)動子系統(tǒng):驅(qū)動框架(HDF)是系統(tǒng)硬件生態(tài)開放的基礎(chǔ),提供統(tǒng)一外設(shè)訪問能力和驅(qū)動開發(fā)、管理框架。

系統(tǒng)服務(wù)層

系統(tǒng)服務(wù)層是OpenHarmony的核心能力集合,通過框架層對應(yīng)用程序提供服務(wù)。該層包含以下幾個部分: 系統(tǒng)基本能力子系統(tǒng)集:為分布式應(yīng)用在多設(shè)備上的運行、調(diào)度、遷移等操作提供了基礎(chǔ)能力,由分布式軟總線、分布式數(shù)據(jù)管理、分布式任務(wù)調(diào)度、公共基礎(chǔ)庫、多模輸入、圖形、安全、AI等子系統(tǒng)組成。

基礎(chǔ)軟件服務(wù)子系統(tǒng)集:提供公共的、通用的軟件服務(wù),由事件通知、電話、多媒體、DFX(Design For X) 等子系統(tǒng)組成。

增強軟件服務(wù)子系統(tǒng)集:提供針對不同設(shè)備的、差異化的能力增強型軟件服務(wù),由智慧屏專有業(yè)務(wù)、穿戴專有業(yè)務(wù)、IoT專有業(yè)務(wù)等子系統(tǒng)組成。

硬件服務(wù)子系統(tǒng)集:提供硬件服務(wù),由位置服務(wù)、用戶IAM、穿戴專有硬件服務(wù)、IoT專有硬件服務(wù)等子系統(tǒng)組成。

根據(jù)不同設(shè)備形態(tài)的部署環(huán)境,基礎(chǔ)軟件服務(wù)子系統(tǒng)集、增強軟件服務(wù)子系統(tǒng)集、硬件服務(wù)子系統(tǒng)集內(nèi)部可以按子系統(tǒng)粒度裁剪,每個子系統(tǒng)內(nèi)部又可以按功能粒度裁剪。

框架層

框架層為應(yīng)用開發(fā)提供了C/C++/JS等多語言的用戶程序框架和Ability框架,適用于JS語言的ArkUI框架,以及各種軟硬件服務(wù)對外開放的多語言框架API。根據(jù)系統(tǒng)的組件化裁剪程度,設(shè)備支持的API也會有所不同。

應(yīng)用層

應(yīng)用層包括系統(tǒng)應(yīng)用和第三方非系統(tǒng)應(yīng)用。應(yīng)用由一個或多個FA(Feature Ability)或PA(ParticleAbility)組成。其中,F(xiàn)A有UI界面,提供與用戶交互的能力;而PA無UI界面,提供后臺運行任務(wù)的能力以及統(tǒng)一的數(shù)據(jù)訪問抽象?;贔A/PA開發(fā)的應(yīng)用,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能,支持跨設(shè)備調(diào)度與分發(fā),為用戶提供一致、高效的應(yīng)用體驗。

1.5 鴻蒙微內(nèi)核LiteOS介紹

b80a4bba-6475-11ed-8abf-dac502259ad0.png

上面是HuaweiLiteOS架構(gòu)框圖,操作系統(tǒng)是一個大的概念,其中包含了內(nèi)核,鴻蒙的內(nèi)核就是LiteOS,但是內(nèi)核有時也單獨叫一個操作系統(tǒng),大家知道就可以。LiteOS基礎(chǔ)內(nèi)核:包括不可裁剪的極小內(nèi)核和可裁剪的其他模塊。極小內(nèi)核包含任務(wù)管理、內(nèi)存管理、中斷管理、異常管理和系統(tǒng)時鐘。可裁剪的模塊包括信號量、互斥鎖、隊列管理、事件管理、軟件定時器等。

對于微內(nèi)核,由于用MMU(內(nèi)存管理單元)對進程空間(內(nèi)存區(qū)域)做了隔離保護,沒有授權(quán)的進程是無法訪問其他進程的空間。這就阻止了惡意程序?qū)ζ渌M程數(shù)據(jù)的竊取。在微內(nèi)核的管理下,因為MMU的封鎖過于嚴(yán)格,用戶進程要存儲一個東西,必須請求內(nèi)核,使用內(nèi)核的IPC進行進程間的通信。

Linux是宏內(nèi)核,大量數(shù)據(jù)處理是通過系統(tǒng)調(diào)用這個問題不突出,但是微內(nèi)核的IPC實在是“傷不起”,就這樣微內(nèi)核一直被Linux這種宏內(nèi)核吊打。學(xué)界想了很多辦法,L4提出了一個Fast IPC的辦法,只要你IPC通訊沒數(shù)據(jù),可以借用CPU核心寄存器的辦法傳遞消息,速度大大加快。也有人想到了dIPC, directIPC

用標(biāo)簽內(nèi)存的辦法進行隔離,傳遞數(shù)據(jù),無需通過內(nèi)核空間。大大加快了通訊速度。但標(biāo)簽內(nèi)存不符合現(xiàn)在計算機體系的架構(gòu),實踐中,采用的可能性較小。

上交的陳海波教授團隊,19年想了兩個辦法進行IPC的加速。一個是XPC,一個是Skybridge。其中XPC是硬件,增加了一點點CPU硬件修改,使得IPC通訊無需內(nèi)核的參與,也無需數(shù)據(jù)拷貝;Skybridge,采用的是雙內(nèi)核,一個RootKernel,類似type-1的虛化,專門負(fù)責(zé)IPC數(shù)據(jù)通訊,上層的Kernel為微內(nèi)核。這樣IPC繞過了MMU 機制,也不會對微內(nèi)核之上的MMU保護機制產(chǎn)生破壞。在IPC通訊的時候,無內(nèi)核參與,無需拷貝。

b836ff8e-6475-11ed-8abf-dac502259ad0.png

再來看看Android的架構(gòu)。Android因為采用了非常多的服務(wù),不同于普通的應(yīng)用,非常依賴于IPC通訊。為了提高速度,開發(fā)出了 IPC Binder Drivers 來加速 Linux下的IPC通訊。但效果不是太理想。XPC對BinderIPC的加速有50多倍。

SkyBridge和dIPC處于同一性能級別,XPC則更高。從論文上看,SkyBridge更實用一些,未來XPC還需要繼續(xù)依賴于硬件的革新。

1.6 風(fēng)口汽車上的鴻蒙應(yīng)用

b896f358-6475-11ed-8abf-dac502259ad0.png

按照之前說的萬物歸一,那華為拿“鴻蒙”這大殺器,哪里有風(fēng)口,就往哪里用啊。特別是汽車,簡直太適合“鴻蒙”系統(tǒng)了,可以說比手機都適合。

車機鴻蒙 OS 對生態(tài)端和硬件端均實現(xiàn)極為強勁的支持。

1)鴻蒙 OS 車機系統(tǒng)在生態(tài) 上可以對接華為原生應(yīng)用和應(yīng)用商城,對車企支持儀表應(yīng)用、OEM 應(yīng)用等;

2)鴻蒙 OS 車機系統(tǒng)可以支持一芯多屏、多并發(fā)、分布式外設(shè)、車載網(wǎng)絡(luò)&多部件協(xié)同等特性。

鴻蒙 OS 基于微內(nèi)核,兼具 QNX Android 的優(yōu)點,尤其國內(nèi)華為服務(wù)支持在后端生 態(tài)適配上更有優(yōu)勢。QNX 是最為老牌的車載操作系統(tǒng),作為微內(nèi)核系統(tǒng),QNX 提供較高的安全性、穩(wěn)定性和實時性,但對生態(tài)支持較差。Andorid 與之相反,生態(tài)上有現(xiàn)成的手機生態(tài)做支撐,但在安全穩(wěn)定性較差,無法支持儀表。

Linux 易于剪裁開發(fā), 大眾 VW.OS 和特斯拉 Version 均基于 Linux,特斯拉 Version 也直接支持使用 Linux 運行儀表軟件,但 Linux 生態(tài)較弱。鴻蒙 OS 采用微內(nèi)核,對于分布式產(chǎn)品只需要較少硬件資源就可以支持,響應(yīng)速度較快,可以支持儀表等高實時穩(wěn)定要求的部件工作。

2. 代碼下載編譯

2.1 代碼下載

repo init -u https://gitee.com/openharmony/manifest.git-b master --no-repo-verify
repo sync-c
repo forall -c'git lfs pull'
repo sync -j1 --fail-fast
2.2 編譯環(huán)境搭建

每次都搞編譯環(huán)境,很麻煩,有個個簡單的方法就是使用Docker,華為提供了Docker環(huán)境。Docker 是一個用于開發(fā),交付和運行應(yīng)用程序的開放平臺,相當(dāng)于直接擁有了別人配置好的一個環(huán)境。

Docker 使您能夠?qū)?yīng)用程序與基礎(chǔ)架構(gòu)分開,從而可以快速交付軟件。借助 Docker,您可以與管理應(yīng)用程序相同的方式來管理基礎(chǔ)架構(gòu)。

通過利用 Docker 的方法來快速交付,測試和部署代碼,您可以大大減少編寫代碼和在生產(chǎn)環(huán)境中運行代碼之間的延遲。
curl -fsSL https://get.docker.com
| bash -s docker --mirror Aliyun
docker pull
swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0

進入源碼根目錄執(zhí)行如下命令,從而進入Docker構(gòu)建環(huán)境。ubuntu下執(zhí)行:

dockerrun-it-v$(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
b8d3a686-6475-11ed-8abf-dac502259ad0.png

2.3 編譯運行

進入Docker后,就像你擁有了一臺別人已經(jīng)配置好的環(huán)境的電腦

執(zhí)行如下命令進行配置:
hb set
b8f9ce1a-6475-11ed-8abf-dac502259ad0.png

用上下箭頭選擇qemu_mini_system_demo并回車。 執(zhí)行如下編譯命令:
hb build -f
查看編譯結(jié)果:

b921d068-6475-11ed-8abf-dac502259ad0.png

運行:

./qemu-run

b957797a-6475-11ed-8abf-dac502259ad0.png

從上面log可以看到系統(tǒng)啟動后,會啟動網(wǎng)絡(luò)協(xié)議棧tcpio,然后進入shlll,最后自動執(zhí)行了Test程序。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Liteos
    +關(guān)注

    關(guān)注

    10

    文章

    32

    瀏覽量

    47556
  • hdc
    hdc
    +關(guān)注

    關(guān)注

    1

    文章

    44

    瀏覽量

    3583
  • AIoT芯片
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    3836

原文標(biāo)題:HarmonyOS入門-簡介和代碼編譯

文章出處:【微信號:OS與AUTOSAR研究,微信公眾號:OS與AUTOSAR研究】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    HarmonyOS開發(fā)寶典震撼來襲,卓越應(yīng)用開發(fā)之旅一觸即發(fā),輕松啟程!

    大幅提升開發(fā)效率。此外,我們還提供場景化的開箱即用代碼示例,讓應(yīng)用開發(fā)觸手可及,輕松高效。 更令人振奮的是,全新升級的《HarmonyOS第一課》現(xiàn)已震撼上線!該課程采用多維融合教學(xué)法,將直觀代碼
    發(fā)表于 12-05 08:57

    戈帥的《HarmonyOS入門到精通40例》DevEco Studio升級說明

    HarmonyOS入門到精通40例》DevEco Studio升級說明如附件*附件:《HarmonyOS入門到精通40例》DevEco Studio升級說明.docx
    發(fā)表于 12-03 15:45

    UART串口通信示例:開啟通信寶藏之門的定位模組LuatOS入門

    今天我們要講解的是UART串口通信示例,關(guān)于Air201資產(chǎn)定位模組LuatOS入門,我會從搭建環(huán)境、代碼燒錄、示例效果等來細(xì)說:
    的頭像 發(fā)表于 11-03 19:55 ?904次閱讀
    UART串口通信示例:開啟通信寶藏之門的定位模組LuatOS<b class='flag-5'>入門</b>

    Keil編譯器優(yōu)化方法

    我們都知道,代碼是可以通過編譯器優(yōu)化的,有的時候,為了提高運行速度或者減少代碼尺寸,會開啟優(yōu)化選項。
    的頭像 發(fā)表于 10-23 16:35 ?499次閱讀
    Keil<b class='flag-5'>編譯</b>器優(yōu)化方法

    java反編譯能拿到源碼嗎

    在語法和風(fēng)格上有所不同的代碼,因為它們主要關(guān)注于恢復(fù)代碼的邏輯結(jié)構(gòu),而不是精確復(fù)制原始代碼的每個細(xì)節(jié)。 1. 反編譯的基本原理 Java程序在編譯
    的頭像 發(fā)表于 09-02 11:03 ?941次閱讀

    java反編譯代碼可以修改么

    Java反編譯是一種將編譯后的Java字節(jié)碼(.class文件)轉(zhuǎn)換回源代碼的過程。反編譯后的代碼可以進行修改,但是需要注意,反
    的頭像 發(fā)表于 09-02 11:00 ?635次閱讀

    ida反編譯出來代碼能直接用嗎

    IDA反編譯出來的代碼通常 不能直接使用 ,這主要基于以下幾個方面的原因: 一、代碼的不完整性 IDA反編譯生成的代碼可能缺少原始源
    的頭像 發(fā)表于 09-02 10:55 ?639次閱讀

    HarmonyOS NEXT Developer Beta1最新術(shù)語表

    A abc文件 方舟字節(jié)碼(ArkCompiler Bytecode)文件,是ArkCompiler的編譯工具鏈以源代碼作為輸入編譯生成的產(chǎn)物,其文件后綴名為.abc。在發(fā)布態(tài),abc文件會被打包到
    發(fā)表于 06-27 16:16

    為什么我的項目Debug運行沒問題,編譯成Release包就報錯?

    ,導(dǎo)致此問題出現(xiàn)的可能原因及解決辦法。 一、Debug與Release編譯的基本差異 1. 編譯配置 · 優(yōu)化級別: Release模式通常啟用更高級別的編譯優(yōu)化,包括代碼內(nèi)聯(lián)、循環(huán)展
    的頭像 發(fā)表于 06-12 11:18 ?881次閱讀
    為什么我的項目Debug<b class='flag-5'>運行</b>沒問題,<b class='flag-5'>編譯</b>成Release包就報錯?

    可以編譯運行的工程代碼中不存在.ioc文件有辦法生產(chǎn).ioc嗎?

    可以編譯運行的工程代碼中不存在.ioc文件,有辦法生產(chǎn).ioc嗎?
    發(fā)表于 03-26 08:00

    鴻蒙開發(fā)【編譯構(gòu)建】講解

    編譯構(gòu)建是將應(yīng)用/服務(wù)的源代碼、資源、第三方庫等,通過編譯工具轉(zhuǎn)換為可直接在硬件設(shè)備上運行的二進制機器碼,然后再將二進制機器碼封裝為HAP/APP軟件包,并為HAP/APP包進行簽名的
    發(fā)表于 02-27 17:41

    OpenHarmony 移植:build lite 編譯構(gòu)建過程

    配置完畢產(chǎn)品解決方案、芯片開發(fā)板解決方案,就可以執(zhí)行 hb build 進行編譯。但是產(chǎn)品解決方案代碼是如何被調(diào)用編譯的? 芯片開發(fā)板解決方案代碼是如何被調(diào)用
    的頭像 發(fā)表于 02-19 16:19 ?941次閱讀

    【AWTK開源智能串口屏方案】MCU SDK使用與編譯運行

    代碼智能串口屏方案,本系列文章介紹如何從零開發(fā)HMI程序,包括搭建開發(fā)環(huán)境、創(chuàng)建HMI運行時工程、修改應(yīng)用界面以及開發(fā)MCU程序。MCU端簡介相對于HMI端(串口
    的頭像 發(fā)表于 02-19 12:11 ?1195次閱讀
    【AWTK開源智能串口屏方案】MCU SDK使用與<b class='flag-5'>編譯</b><b class='flag-5'>運行</b>

    【AWTK開源智能串口屏方案】HMI端程序移植編譯運行

    本篇文章介紹一下AWTK開源智能串口屏方案的串口屏端(即HMI端)的編譯運行步驟,并介紹如何將HMI端移植到Linux或STM32平臺或RTOS平臺,以及如何配置資源文件。引言:AWTK-HMI
    的頭像 發(fā)表于 01-18 08:24 ?912次閱讀
    【AWTK開源智能串口屏方案】HMI端程序移植<b class='flag-5'>編譯</b>及<b class='flag-5'>運行</b>

    Zephyr RTOS簡介及代碼下載編譯運行

    說起來RTOS,第一印象就是單片機程序、ARM M核、微控制器低頻運行處理程序,甚至其不能算一個真正的OS。但是隨著時代發(fā)展,這些單片機程序在有限的硬件機制下非常接近像Linux這種的巨無霸O(shè)S了
    的頭像 發(fā)表于 01-10 09:12 ?6091次閱讀
    Zephyr RTOS簡介及<b class='flag-5'>代碼</b>下載<b class='flag-5'>編譯</b><b class='flag-5'>運行</b>
    RM新时代网站-首页