一、HarmonyOS介紹
系統(tǒng)定義
HarmonyOS是一款“面向未來”、面向全場景(移動辦公、運動健康、社交通信、媒體娛樂等)的分布式操作系統(tǒng)。在傳統(tǒng)的單設(shè)備系統(tǒng)能力的基礎(chǔ)上,提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念,能夠支持多種終端設(shè)備。
1.對消費者而言,鴻蒙系統(tǒng)能夠?qū)⑸顖鼍爸械母黝惤K端進行能力整合,形成一個“超級虛擬終端”,可以實現(xiàn)不同的終端設(shè)備之間的快速連接、能力互助、資源共享,匹配合適的設(shè)備、提供流暢的全場景體驗。
2.對應(yīng)用開發(fā)者而言,鴻蒙系統(tǒng)采用了多種分布式技術(shù),使得應(yīng)用程序的開發(fā)實現(xiàn)與不同終端設(shè)備的形態(tài)差異無關(guān),降低了開發(fā)難度和成本。這能夠讓開發(fā)者聚焦上層業(yè)務(wù)邏輯,更加便捷、高效地開發(fā)應(yīng)用。
2.對設(shè)備開發(fā)者而言,鴻蒙系統(tǒng)采用了組件化的設(shè)計方案,可以根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征進行靈活裁剪,滿足不同形態(tài)的終端設(shè)備對于操作系統(tǒng)的要求。
技術(shù)特性
HarmonyOS四大技術(shù)特性
1.分布式架構(gòu)首次用于終端OS,實現(xiàn)跨終端無縫協(xié)同體驗
2.確定時延引擎和高性能IPC技術(shù)實現(xiàn)系統(tǒng)天生流暢
3.基于微內(nèi)核架構(gòu)重塑中斷設(shè)備可信安全
4.通過統(tǒng)一IDE支撐一次開發(fā),多端部署,實現(xiàn)跨終端生態(tài)共享
分布式軟總線示意圖?如下:
技術(shù)架構(gòu)
HarmonyOS整體遵從分層設(shè)計,從下向上依次為:內(nèi)核層、系統(tǒng)服務(wù)層、框架層和應(yīng)用層。系統(tǒng)功能按照“系統(tǒng) > 子系統(tǒng) > 功能/模塊”逐級展開,在多設(shè)備部署場景下,支持根據(jù)實際需求裁剪某些非必要的子系統(tǒng)或功能/模塊,技術(shù)架構(gòu)如下:
系統(tǒng)安全
在搭載HarmonyOS的分布式終端上,可以保證“正確的人,通過正確的設(shè)備,正確地使用數(shù)據(jù)”。
通過“分布式多端協(xié)同身份認(rèn)證”來保證“正確的人”。
通過“在分布式終端上構(gòu)筑可信運行環(huán)境”來保證“正確的設(shè)備”。
通過“分布式數(shù)據(jù)在跨終端流動的過程中,對數(shù)據(jù)進行分類分級管理”來保證“正確地使用數(shù)據(jù)”。
在分布式終端場景下,“正確的人”指通過身份認(rèn)證的數(shù)據(jù)訪問者和業(yè)務(wù)操作者?!罢_的人”是確保用戶數(shù)據(jù)不被非法訪問、用戶隱私不泄露的前提條件。通過以下三個方面來實現(xiàn)協(xié)同身份認(rèn)證:
零信任模型:鴻蒙系統(tǒng)基于零信任模型,實現(xiàn)對用戶的認(rèn)證和對數(shù)據(jù)的訪問控制。當(dāng)用戶需要跨設(shè)備訪問數(shù)據(jù)資源或者發(fā)起高安全等級的業(yè)務(wù)操作(例如,對安防設(shè)備的操作)時,操作系統(tǒng)會對用戶進行身份認(rèn)證,確保其身份的可靠性。
多因素融合認(rèn)證:鴻蒙系統(tǒng)通過用戶身份管理,將不同設(shè)備上標(biāo)識同一用戶的認(rèn)證憑據(jù)關(guān)聯(lián)起來,用于標(biāo)識一個用戶,來提高認(rèn)證的準(zhǔn)確度。
協(xié)同互助認(rèn)證:鴻蒙系統(tǒng)通過將硬件和認(rèn)證能力解耦(即信息采集和認(rèn)證可以在不同的設(shè)備上完成),來實現(xiàn)不同設(shè)備的資源池化以及能力的互助與共享,讓高安全等級的設(shè)備協(xié)助低安全等級的設(shè)備完成用戶身份認(rèn)證。
功能亮點
先進性:多終端統(tǒng)一 OS;分布式設(shè)備虛擬化;一次開發(fā)多端部署。
兼容性:POSIX 標(biāo)準(zhǔn)接口,兼容三方庫;HDF 統(tǒng)一驅(qū)動框架,方便適配和移植;兼容業(yè)界主流芯片,支持快速產(chǎn)品化。
安全可信:HarmonyOS 內(nèi)核通過形式化驗證,軟件技術(shù)全棧開源。
二、IDE
概述
HUAWEI DevEco Device Tool:HarmonyOS 智能設(shè)備一站式集成開發(fā)環(huán)境,支持組件按需定制、一鍵編譯和燒錄、可視化調(diào)試、分布式能力集成等,幫助開發(fā)者高效開發(fā)和創(chuàng)新新硬件。
HUAWEI DevEco Device Tool(以下簡稱DevEco Device Tool)是為智能設(shè)備開發(fā)者提供的一站式集成開發(fā)環(huán)境,支持組件按需定制,支持代碼編輯、燒錄和調(diào)試等功能,支持C/C++語言,以插件的形式部署在Visual Studio Code上。該工具具有以下特點:
DevEco Device Tool以Visual Studio Code插件形式提供,體積小巧。
支持代碼查找、代碼高亮、代碼自動補齊、代碼輸入提示、代碼檢查等,開發(fā)者可以輕松、高效編碼。
支持ARM架構(gòu)的Hi3516/Hi3518系列和RISC-V架構(gòu)的Hi3861系列開發(fā)板,提供一鍵式的燒錄和調(diào)試GUI界面。
支持單步調(diào)試能力和查看內(nèi)存、變量、調(diào)用棧、寄存器、匯編等調(diào)試信息。
用戶指南
DevEco Device Tool工具主要分為如下4個功能區(qū)域。
1.工具控制區(qū):提供工程的導(dǎo)入、配置、燒錄、調(diào)試等功能。
2.代碼編輯區(qū):提供代碼的查看、編寫和調(diào)試等功能。
3.輸出控制臺:提供操作日志的打印、調(diào)試命令的輸入及命令行工具等功能。
3.快捷控制功能:提供DevEco Device Tool工具的快捷操作命令,如配置模板選擇、工具檢查、編譯等快捷功能。
用戶指南資料下載:https://bbs.elecfans.com/jishu_1989330_1_1.html
三、設(shè)計
定義了HarmonyOS的產(chǎn)品兼容性規(guī)范,使用鴻蒙系統(tǒng)的設(shè)備開發(fā)者有責(zé)任保證其設(shè)備的實現(xiàn)必須包含兼容性規(guī)范,確保其設(shè)備的兼容性。本文中的出現(xiàn) “MUST(必須)”, “MUST NOT(禁止)”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” 根據(jù)RFC2119中定義的IETF標(biāo)準(zhǔn)。
四、開發(fā)介紹
內(nèi)核
HarmonyOS輕內(nèi)核基礎(chǔ)功能,進程,從系統(tǒng)的角度看,進程是資源管理單元。進程可以使用或等待CPU、使用內(nèi)存空間等系統(tǒng)資源,并獨立于其它進程運行。內(nèi)核的進程模塊可以給用戶提供多個進程,實現(xiàn)了進程之間的切換和通信,幫助用戶管理業(yè)務(wù)程序流程。這樣用戶可以將更多的精力投入到業(yè)務(wù)功能的實現(xiàn)中。內(nèi)核使用musl libc庫,支持標(biāo)準(zhǔn)POSIX接口,開發(fā)者可基于POSIX標(biāo)準(zhǔn)接口開發(fā)內(nèi)核之上的組件及應(yīng)用。
驅(qū)動
HDF(HarmonyOS?Driver Foundation)驅(qū)動框架,為驅(qū)動開發(fā)者提供驅(qū)動框架能力,包括驅(qū)動加載、驅(qū)動服務(wù)管理和驅(qū)動消息機制。旨在構(gòu)建統(tǒng)一的驅(qū)動架構(gòu)平臺,為驅(qū)動開發(fā)者提供更精準(zhǔn)、更高效的開發(fā)環(huán)境,力求做到一次開發(fā),多系統(tǒng)部署。
HDF框架以組件化的驅(qū)動模型作為核心設(shè)計思路,為開發(fā)者提供更精細(xì)化的驅(qū)動管理,讓驅(qū)動開發(fā)和部署更加規(guī)范。我們可以通過HarmonyOS驅(qū)動文檔系統(tǒng)的了解驅(qū)動開發(fā)。HDF框架將一類設(shè)備驅(qū)動放在同一個host里面,驅(qū)動內(nèi)部實現(xiàn)開發(fā)者也可以將驅(qū)動功能分層獨立開發(fā)和部署,支持一個驅(qū)動多個node,HDF框架管理驅(qū)動模型如下圖所示:
子系統(tǒng)
分布式任務(wù)調(diào)度模塊,通過主從設(shè)備服務(wù)代理機制,在鴻蒙操作系統(tǒng)上建立起分布式服務(wù)平臺,支持主設(shè)備(智慧屏設(shè)備)啟動從設(shè)備(IP Camera、運動手表等小內(nèi)存HarmonyOS設(shè)備)FA的能力。
以智慧屏節(jié)目開播提醒為例,智慧屏上在喜歡的節(jié)目菜單中,點擊“開播后提醒我”按鈕,等節(jié)目開播后,智慧屏?xí)疬\動手表上的節(jié)目開播提醒FA。通過該FA用戶可以快速知道喜歡的節(jié)目已經(jīng)開始,達到協(xié)同互助的作用。
組件
HarmonyOS軟件以組件(bundle)作為基本單元,從系統(tǒng)角度看,凡是運行在HarmonyOS上的軟件都可以定義為組件;一般來講,根據(jù)組件的應(yīng)用范圍,可以分為:板級組件:如board、arch、mcu這些與設(shè)備硬件相關(guān)的組件;系統(tǒng)組件:一組獨立功能的集合,如內(nèi)核、文件系統(tǒng)、框架等;應(yīng)用組件:直接面向用戶提供服務(wù)的應(yīng)用(如wifi_iot,ip_camera)。通常情況下,您可以在HPM網(wǎng)站找到您開發(fā)常用的組件。
從形式上看,組件是為復(fù)用而生,一切可以復(fù)用的模塊都可以定義為組件,可以分為:源代碼、二進制、代碼片段、發(fā)行版。
設(shè)備開發(fā)
HarmonyOS設(shè)備開發(fā)可以分為三種不同的產(chǎn)品類型,WLAN連接類產(chǎn)品、無屏幕攝像頭類產(chǎn)品、帶屏幕攝像頭類產(chǎn)品,我們可以通過開發(fā)示例進一步加深對于產(chǎn)品的理解。
API參考
智慧視覺設(shè)設(shè)備與聯(lián)接類模組,API參考地址
五、開發(fā)快速入門
Hi3861開發(fā)板
Δ Hi3861開發(fā)板介紹: Hi3861 WLAN模組的開發(fā)環(huán)境搭建、版本編譯構(gòu)建、燒錄、源碼修改、調(diào)試驗證等方法。
Δ Hi3861開發(fā)板搭建環(huán)境: 介紹搭建環(huán)境所需要的硬件要求,并提供編譯工具安裝包。
Δ Hi3861開發(fā)板第一個示例程序: 本示例將演示如何通過AT命令完成WLAN模組配網(wǎng)。
Δ Hi3861開發(fā)板第二個示例程序: 本示例將演示如何編寫簡單業(yè)務(wù),輸出“Hello World”。
Hi3516開發(fā)板介紹
Δ Hi3516開發(fā)板介紹: Hi3516DV300在低碼率、高畫質(zhì)、智能處理和分析、低功耗等方面引領(lǐng)行業(yè)水平。
Δ Hi3516開發(fā)板環(huán)境搭建: 介紹搭建環(huán)境所需要的硬件要求,并提供編譯工具安裝包。
Δ 開發(fā)Hi3516第一個應(yīng)用程序示例: 本示例指導(dǎo)開發(fā)者在單板上運行第一個應(yīng)用程序,其中包括修改應(yīng)用程序、編譯、燒寫、運行等步驟,最終輸出“Hello OHOS!”。
Δ 開發(fā)Hi3516第一個驅(qū)動程序示例: 本示例指導(dǎo)開發(fā)者在單板上運行第一個驅(qū)動程序,其中包括驅(qū)動程序介紹、編譯、燒寫、運行等步驟。
Hi3518開發(fā)板
Δ Hi3518開發(fā)板介紹: 新一代智慧視覺處理SOC,集成新一代ISP(Image Signal Processor)以及業(yè)界最新的H.265視頻壓縮編碼器,同時采用先進低功耗工藝和低功耗架構(gòu)設(shè)計。
Δ Hi3518開發(fā)板環(huán)境搭建: 介紹搭建環(huán)境所需要的硬件要求,并提供編譯工具安裝包。
Δ 開發(fā)Hi3518第一個示例程序: 本示例指導(dǎo)開發(fā)者在單板上運行第一個應(yīng)用程序,其中包括修改應(yīng)用程序、編譯、燒寫、運行等步驟,最終輸出“Hello OHOS!”。
六、源碼下載
OpenHarmony是HarmonyOS的開源版,第一個開源版本支持在128KB~128MB設(shè)備上運行。
那么如何獲取OpenHarmony源碼并說明OpenHarmony的源碼目錄結(jié)構(gòu)。OpenHarmony的代碼以組件的形式開放,開發(fā)者可以通過如下其中一種方式獲?。?/p>
獲取方式1:從鏡像站點下載壓縮文件(推薦)
獲取方式2:從hpm網(wǎng)站組件式獲取。通過HPM,查找滿足需求的解決方案,挑選/裁剪組件后下載。
獲取方式3:用包管理器命令行工具獲取。通過HPM的hpm-cli命令行工具,執(zhí)行命令下載。
獲取方式4:從代碼倉庫獲取。通過repo或git工具從代碼倉庫中下載。
七、典型產(chǎn)品
HarmonyOS WLAN模組
基于Hi3861平臺提供了豐富的外設(shè)操作能力,包含I2C、I2S、ADC、UART、SPI、SDIO、GPIO、PWM、FLASH等。本文介紹如何通過調(diào)用HarmonyOS的NDK接口,實現(xiàn)對GPIO控制,達到LED閃爍的效果。其他的IOT外設(shè)控制,開發(fā)者可根據(jù)API指導(dǎo)文檔完成,此處不逐一介紹。
攝像頭類產(chǎn)品
介紹如何基于IoT Camera開發(fā)板,利用開發(fā)套件中自帶的攝像頭,完成拍照、錄像功能。開發(fā)者可通過執(zhí)行示例應(yīng)用,對開發(fā)板的外設(shè)控制有了更深入了解后,可使用開發(fā)板完成“監(jiān)控攝像頭”等設(shè)備。
攝像頭與屏幕類產(chǎn)品
將介紹如何基于IoT Camera開發(fā)板,利用開發(fā)套件中自帶的攝像頭和屏幕,完成拍照、錄像和視頻預(yù)覽功能。開發(fā)者可通過執(zhí)行示例應(yīng)用,對開發(fā)板的外設(shè)控制有了更深入了解后,可使用開發(fā)板完成“智能貓眼”、“智能后視鏡”、“智能帶屏音箱”等設(shè)備。
八、安全
安全指南,HarmonyOS操作系統(tǒng)是一個開放的系統(tǒng),開發(fā)者可以開發(fā)靈活的服務(wù)和應(yīng)用,為開發(fā)者和使用者帶來便利和價值。為了達到這一目的,鴻蒙系統(tǒng)提供了一個可以有效保護應(yīng)用和用戶數(shù)據(jù)的執(zhí)行環(huán)境。
在這個執(zhí)行環(huán)境中,芯片的安全能力、系統(tǒng)的安全能力、以及上層的安全服務(wù)一起協(xié)作,從硬件安全、系統(tǒng)安全、數(shù)據(jù)安全、設(shè)備互聯(lián)安全、應(yīng)用安全、安全更新多個維度提供安全保障。
九、認(rèn)證
HarmonyOS認(rèn)證價值為保障世界各地的消費者產(chǎn)品制造商開發(fā)出高質(zhì)量的產(chǎn)品和業(yè)應(yīng)用,同時確保這些設(shè)備受到安全保護,用戶獲得良好、一致的分布式業(yè)務(wù)體驗的目標(biāo),鴻蒙系統(tǒng)團隊對這些設(shè)備進行測試認(rèn)證。認(rèn)證內(nèi)容如下: