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