版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.1.1鴻蒙操作系統(tǒng)的誕生全套可編輯PPT課件
全套可編輯PPT課件
通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙操作系統(tǒng)的誕生鴻蒙操作系統(tǒng)的誕生第一階段:準(zhǔn)備階段,鴻蒙操作系統(tǒng)的前身——分布式操作系統(tǒng)。2012年,華為技術(shù)有限公司(簡稱華為)的中央軟件研究院提出問題:如果安卓系統(tǒng)不給我們用了怎么辦?用什么系統(tǒng)來代替安卓系統(tǒng)?于是華為提出了構(gòu)建分布式操作系統(tǒng)的設(shè)想。第二階段:正式立項(xiàng)階段。在2016年,華為內(nèi)部正式立項(xiàng),開始投入人力進(jìn)行研發(fā)。鴻蒙操作系統(tǒng)的誕生第三階段:鴻蒙正式誕生。2019年8月,華為正式發(fā)布了HarmonyOS1.0,中文名稱“鴻蒙系統(tǒng)”。2020年9月,華為發(fā)布了HarmonyOS2.0版本。第四階段:鴻蒙開源。華為于2020年9月將HarmonyOS2.0源碼捐贈(zèng)給開放原子開源基金會,推出OpenHarmonyOS1.0并開放下載。在2021年6月,開放原子開源基金會發(fā)布OpenHarmonyOS2.0。第五階段:HarmonyOS3.0正式發(fā)布。2022年7月,HarmonyOS3.0正式發(fā)布。鴻蒙操作系統(tǒng)的誕生鴻蒙系統(tǒng)發(fā)展進(jìn)程2012年華為2012實(shí)驗(yàn)室啟動(dòng)鴻蒙研究2016年華為正式立項(xiàng)研發(fā)2019年8月華為正式發(fā)布鴻蒙1.02020年9月鴻蒙2.0發(fā)布源碼捐贈(zèng)給開放原子開源基金會,發(fā)布OpenHarmonyOS1.02021年6月開放原子開源基金會發(fā)布OpenHarmonyOS2.02022年7月華為正式發(fā)布鴻蒙操作系統(tǒng)3.0謝謝1.1.2鴻蒙生態(tài)建設(shè)通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙系統(tǒng)的生態(tài)建設(shè)鴻蒙生態(tài)建設(shè)1.技術(shù)生態(tài)建設(shè)在C(consumer,消費(fèi)者)端,美的和蘇泊爾等家電品牌加入OpenHarmony生態(tài);在B(Business,企業(yè)用戶)端,深開鴻、統(tǒng)信軟件、軟通動(dòng)力、中科創(chuàng)達(dá)等發(fā)布了基于OpenHarmony打造的操作系統(tǒng),并向各行各業(yè)輸出。開源鴻蒙目前有110多款商用終端,100多款開發(fā)款和模組支持有28款基于OpenHarmony的發(fā)行版應(yīng)用在教育、金融、交通、礦山等各領(lǐng)域,構(gòu)筑起千行百業(yè)的信息基礎(chǔ)設(shè)施底座。鴻蒙生態(tài)建設(shè)1.技術(shù)生態(tài)建設(shè)國內(nèi)消費(fèi)者使用的大部分都是HarmonyOS操作系統(tǒng),這也是基于OpenHarmony開發(fā)設(shè)計(jì)的產(chǎn)品。被華為廣泛應(yīng)用于智能手機(jī)、智能手表、平板、智慧屏等終端產(chǎn)品,搭載數(shù)量已經(jīng)突破了3億臺。鴻蒙生態(tài)建設(shè)2.應(yīng)用生態(tài)建設(shè)鴻蒙操作系統(tǒng)是一款面向萬物互聯(lián)時(shí)代的、全新的分布式操作系統(tǒng)。鴻蒙提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念支持手機(jī)、平板、智能穿戴、智慧屏、車機(jī)等多種終端設(shè)備提供全場景(移動(dòng)辦公、運(yùn)動(dòng)健康、社交通信、媒體娛樂等)業(yè)務(wù)能力對消費(fèi)者而言,HarmonyOS能夠?qū)⑸顖鼍爸械母黝惤K端進(jìn)行能力整合,實(shí)現(xiàn)不同終端設(shè)備之間的快速連接、能力互助、資源共享,匹配合適的設(shè)備、提供流暢的全場景體驗(yàn)鴻蒙生態(tài)建設(shè)“1+8+N”的全場景戰(zhàn)略:“1”:智能手機(jī)“8個(gè)大行星”:指大屏、音箱、眼鏡、手表、車機(jī)、耳機(jī)、平板、PC等等。N個(gè)衛(wèi)星:指的是移動(dòng)辦公、智能家居、運(yùn)動(dòng)健康、影音娛樂及智能出行各大板塊的延伸業(yè)務(wù)。2.應(yīng)用生態(tài)建設(shè)鴻蒙生態(tài)建設(shè)華為積極支持教育部產(chǎn)學(xué)合作協(xié)同育人(HarmonyOS方向)項(xiàng)目,支撐高校教師開展鴻蒙生態(tài)師資培訓(xùn)、課程建設(shè)、教材及教具開發(fā),通過融入新技術(shù),助力課程教學(xué)創(chuàng)新。3.人才生態(tài)建設(shè)武漢大學(xué)開設(shè)的鴻蒙生態(tài)課程,到2022年2月,拓展至2個(gè)班近70名學(xué)生選修。2021年武漢大學(xué)上線《鴻蒙移動(dòng)應(yīng)用開發(fā)》在線課程,吸引100所高校,近6000人進(jìn)行線上學(xué)習(xí)。哈爾濱工業(yè)大學(xué)開設(shè)《HarmonyOS智能硬件創(chuàng)新》高水平校企共建課程,與華為雙方獲批工信部關(guān)鍵軟件與人工智能協(xié)同育人基地,合作建設(shè)鴻蒙生態(tài)系列課程體系,共有5門課程和教材進(jìn)行校企共建。鴻蒙生態(tài)建設(shè)鼓勵(lì)高校在校生積極參與到HarmonyOS開發(fā)生態(tài)中,華為啟動(dòng)HarmonyOS高校人才培育計(jì)劃,推動(dòng)超過15款HarmonyOS課程走入高校,打造華東、華北、西南等7大片區(qū)鴻蒙高校創(chuàng)新訓(xùn)練營,并通過HarmoyOS開發(fā)者創(chuàng)新大賽來以賽促學(xué)、以賽促創(chuàng),培養(yǎng)更多HarmonyOS全棧開發(fā)人才。3.人才生態(tài)建設(shè)謝謝1.2.1鴻蒙操作系統(tǒng)技術(shù)架構(gòu)通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙操作系統(tǒng)的技術(shù)架構(gòu)鴻蒙操作系統(tǒng)技術(shù)架構(gòu)鴻蒙操作系統(tǒng)的技術(shù)架構(gòu)共分為四層,從下向上依次為:內(nèi)核層系統(tǒng)服務(wù)層框架層應(yīng)用層鴻蒙操作系統(tǒng)技術(shù)架構(gòu)1.內(nèi)核層內(nèi)核層包含了內(nèi)核和驅(qū)動(dòng)兩個(gè)子系統(tǒng)。鴻蒙操作系統(tǒng)技術(shù)架構(gòu)內(nèi)核子系統(tǒng):HarmonyOS采用Linux內(nèi)核和LiteOS(輕量級物聯(lián)網(wǎng)操作系統(tǒng))的多內(nèi)核設(shè)計(jì),支持不同的設(shè)備選用適合的OS內(nèi)核。內(nèi)核抽象層(KAL,KernelAbstractLayer)對上層提供基礎(chǔ)的內(nèi)核能力,包括進(jìn)程管理、線程管理、內(nèi)存管理、文件系統(tǒng)、網(wǎng)絡(luò)管理和外設(shè)管理等。驅(qū)動(dòng)子系統(tǒng):硬件驅(qū)動(dòng)框架(HDF,HardwareDriverFundation)是HarmonyOS硬件生態(tài)開放的基礎(chǔ),提供統(tǒng)一外設(shè)訪問能力和驅(qū)動(dòng)開發(fā)、管理框架。1.內(nèi)核層鴻蒙操作系統(tǒng)技術(shù)架構(gòu)系統(tǒng)服務(wù)層是HarmonyOS的核心能力集合,通過框架層為應(yīng)用程序的運(yùn)行提供各類服務(wù)。包含系統(tǒng)基本能力子系統(tǒng)集、基礎(chǔ)軟件服務(wù)子系統(tǒng)集、增強(qiáng)軟件服務(wù)子系統(tǒng)集、硬件服務(wù)子系統(tǒng)集。2.系統(tǒng)服務(wù)層鴻蒙操作系統(tǒng)技術(shù)架構(gòu)系統(tǒng)基本能力子系統(tǒng)集由分布式任務(wù)調(diào)度、分布式數(shù)據(jù)管理、分布式軟總線、方舟多語言運(yùn)行時(shí)子系統(tǒng)、公共基礎(chǔ)庫子系統(tǒng)、多模輸入子系統(tǒng)、圖形子系統(tǒng)、安全子系統(tǒng)、AI(ArtificialIntelligence,人工智能)子系統(tǒng)等多個(gè)子系統(tǒng)組成。2.系統(tǒng)服務(wù)層鴻蒙操作系統(tǒng)技術(shù)架構(gòu)這些子系統(tǒng)為分布式應(yīng)用在HarmonyOS各種設(shè)備上的運(yùn)行、調(diào)度、遷移等操作提供了基礎(chǔ)能力。其中,方舟多語言運(yùn)行時(shí)子系統(tǒng)提供了C/C++/JS多語言運(yùn)行時(shí)和基礎(chǔ)的系統(tǒng)類庫,也為使用方舟編譯器靜態(tài)化的Java程序(即應(yīng)用程序或框架層中使用Java語言開發(fā)的部分)提供運(yùn)行時(shí)。2.系統(tǒng)服務(wù)層鴻蒙操作系統(tǒng)技術(shù)架構(gòu)基礎(chǔ)軟件服務(wù)子系統(tǒng)集由事件通知、電話、多媒體、DFX(DesignForX)、MSDP(MobileSensingDevelopmentPlatform,移動(dòng)感知平臺,)&DV(DeviceVirtualization,設(shè)備虛擬化)等子系統(tǒng)組成。基礎(chǔ)軟件服務(wù)子系統(tǒng)集為HarmonyOS提供公共的、通用的軟件服務(wù)。例如短信、電話、視頻等基礎(chǔ)軟件服務(wù)。2.系統(tǒng)服務(wù)層鴻蒙操作系統(tǒng)技術(shù)架構(gòu)增強(qiáng)軟件服務(wù)子系統(tǒng)集由智慧屏專有業(yè)務(wù)、穿戴專有業(yè)務(wù)、IoT(InternetofThings,物聯(lián)網(wǎng))專有業(yè)務(wù)等子系統(tǒng)組成,主要為智慧屏、穿戴設(shè)備、物聯(lián)網(wǎng)設(shè)備等提供軟件服務(wù)。2.系統(tǒng)服務(wù)層鴻蒙操作系統(tǒng)技術(shù)架構(gòu)硬件服務(wù)子系統(tǒng)集由位置服務(wù)、生物特征識別、穿戴專有硬件服務(wù)、IoT專有硬件服務(wù)等子系統(tǒng)組成。硬件服務(wù)子系統(tǒng)集提供硬件相關(guān)服務(wù),例如生物特征識別硬件、穿戴相關(guān)硬件、物聯(lián)網(wǎng)硬件等2.系統(tǒng)服務(wù)層鴻蒙操作系統(tǒng)技術(shù)架構(gòu)3.框架層框架層主要包括UI(userinterface,用戶界面)框架、用戶程序框架、Ability(應(yīng)用所具備能力的抽象)框架。鴻蒙操作系統(tǒng)技術(shù)架構(gòu)3.框架層UI框架:提供兩種UI框架,一種是適用于ArkTS(ArkTypeScript)/JS(JavaScript)語言的方舟開發(fā)框架即ArkUI,一種是適用于Java語言的JavaUI框架。用戶程序框架:為HarmonyOS應(yīng)用開發(fā)提供ArkTS/C/C++/JS/Java等多種語言。Ability框架:應(yīng)用程序框架。鴻蒙操作系統(tǒng)技術(shù)架構(gòu)4.應(yīng)用層應(yīng)用層包括系統(tǒng)應(yīng)用、擴(kuò)展應(yīng)用和第三方非系統(tǒng)應(yīng)用。HarmonyOS的應(yīng)用由一個(gè)或多個(gè)FA(FeatureAbility,元服務(wù))或PA(ParticleAbility,元能力)組成。其中,F(xiàn)A有UI界面,與用戶進(jìn)行交互,比如手機(jī)桌面;PA無UI界面,主要為FA提供支持,例如作為后臺服務(wù)提供計(jì)算能力,或作為數(shù)據(jù)倉庫提供數(shù)據(jù)訪問能力。謝謝1.2.2鴻蒙操作系統(tǒng)技術(shù)特性通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙操作系統(tǒng)的技術(shù)特性鴻蒙操作系統(tǒng)技術(shù)特性1.分布式軟總線分布式軟總線是手機(jī)、平板、智能穿戴、智慧屏、車機(jī)等分布式設(shè)備的通信基座,為設(shè)備之間的互聯(lián)互通提供了統(tǒng)一的分布式通信能力,為設(shè)備之間的無感發(fā)現(xiàn)和零等待傳輸創(chuàng)造了條件。開發(fā)者只需聚焦于業(yè)務(wù)邏輯的實(shí)現(xiàn),無需關(guān)注組網(wǎng)方式與底層協(xié)議。鴻蒙操作系統(tǒng)技術(shù)特性1.分布式軟總線典型應(yīng)用場景:來訪客人按下智能門鎖門鈴按鈕,智能音箱播放鈴聲,同時(shí)在電視屏幕上以畫中畫的方式展示出客人的影像。用戶在電視上看到一檔美食節(jié)目,將烹飪方法和指導(dǎo)從電視轉(zhuǎn)移到廚房的電冰箱屏幕上,然后在節(jié)目指導(dǎo)下一步一步完成美食制作。用戶通過手機(jī)下發(fā)烹飪命令給烤箱、電飯煲等烹飪電器,由烹飪電器自動(dòng)完成美食的加工。用戶運(yùn)動(dòng)后,運(yùn)動(dòng)器材將采集的運(yùn)動(dòng)健康數(shù)據(jù)自動(dòng)同步給冰箱。冰箱推薦出一系列最適宜體力恢復(fù)和營養(yǎng)補(bǔ)充的健康菜譜,用戶可以通過冰箱自動(dòng)下單采購補(bǔ)充缺乏的食材。鴻蒙操作系統(tǒng)技術(shù)特性2.分布式設(shè)備虛擬化分布式設(shè)備虛擬化平臺可以實(shí)現(xiàn)不同設(shè)備的資源融合、設(shè)備管理、數(shù)據(jù)處理,多種設(shè)備共同形成一個(gè)超級虛擬終端。針對不同類型的任務(wù),為用戶匹配并選擇能力合適的執(zhí)行硬件,讓業(yè)務(wù)連續(xù)地在不同設(shè)備間流轉(zhuǎn),充分發(fā)揮不同設(shè)備的能力優(yōu)勢,如顯示能力、攝像能力、音頻能力、交互能力以及傳感器能力等。鴻蒙操作系統(tǒng)技術(shù)特性2.分布式設(shè)備虛擬化典型應(yīng)用場景:視頻通話:在做家務(wù)時(shí)接聽視頻電話,可以將手機(jī)與智慧屏連接,并將智慧屏的屏幕、攝像頭與音箱虛擬化為本地資源,替代手機(jī)自身的屏幕、攝像頭、聽筒與揚(yáng)聲器,實(shí)現(xiàn)一邊做家務(wù)、一邊通過智慧屏和音箱來視頻通話。游戲:在智慧屏上玩游戲時(shí),可以將手機(jī)虛擬化為遙控器,借助手機(jī)的重力傳感器、加速度傳感器、觸控能力,為玩家提供更便捷、更流暢的游戲體驗(yàn)。鴻蒙操作系統(tǒng)技術(shù)特性3.分布式數(shù)據(jù)管理分布式數(shù)據(jù)管理基于分布式軟總線的能力,實(shí)現(xiàn)應(yīng)用程序數(shù)據(jù)和用戶數(shù)據(jù)的分布式管理。用戶數(shù)據(jù)不再與單一物理設(shè)備綁定,業(yè)務(wù)邏輯與數(shù)據(jù)存儲分離,跨設(shè)備的數(shù)據(jù)處理如同本地?cái)?shù)據(jù)處理一樣方便快捷,讓開發(fā)者能夠輕松實(shí)現(xiàn)全場景、多設(shè)備下的數(shù)據(jù)存儲、共享和訪問,為打造一致、流暢的用戶體驗(yàn)創(chuàng)造了基礎(chǔ)條件。鴻蒙操作系統(tǒng)技術(shù)特性3.分布式數(shù)據(jù)管理典型應(yīng)用場景:協(xié)同辦公:將手機(jī)上的文檔投屏到智慧屏,在智慧屏上對文檔執(zhí)行翻頁、縮放、涂鴉等操作,文檔的最新狀態(tài)可以在手機(jī)上同步顯示。照片分享:出游時(shí),使用手機(jī)拍攝的照片,可以在登錄了同帳號的其他設(shè)備,例如平板上更方便地瀏覽、收藏、保存或編輯,也可以通過家中的智慧屏上同家人一起分享記錄下的快樂瞬間。鴻蒙操作系統(tǒng)技術(shù)特性4.分布式任務(wù)調(diào)度分布式任務(wù)調(diào)度基于分布式軟總線、分布式數(shù)據(jù)管理、分布式Profile(配置文件)等技術(shù)特性,構(gòu)建統(tǒng)一的分布式服務(wù)管理(發(fā)現(xiàn)、同步、注冊、調(diào)用)機(jī)制,支持對跨設(shè)備的應(yīng)用進(jìn)行遠(yuǎn)程啟動(dòng)、遠(yuǎn)程調(diào)用、遠(yuǎn)程連接以及遷移等操作,能夠根據(jù)不同設(shè)備的能力、位置、業(yè)務(wù)運(yùn)行狀態(tài)、資源使用情況,以及用戶的習(xí)慣和意圖,選擇合適的設(shè)備運(yùn)行分布式任務(wù)。鴻蒙操作系統(tǒng)技術(shù)特性4.分布式任務(wù)調(diào)度典型應(yīng)用場景:出行導(dǎo)航:用戶駕車出行,上車前,在手機(jī)上規(guī)劃好導(dǎo)航路線;上車后,導(dǎo)航自動(dòng)遷移到車機(jī)和車載音箱;下車后,導(dǎo)航自動(dòng)遷移回手機(jī)。用戶騎車出行,在手機(jī)上規(guī)劃好導(dǎo)航路線,騎行時(shí)手表可以接續(xù)導(dǎo)航。查看外賣:在手機(jī)上點(diǎn)外賣后,可以將訂單信息遷移到智能手表上,隨時(shí)查看外賣的配送狀態(tài)。鴻蒙操作系統(tǒng)技術(shù)特性5.一次開發(fā),多端部署HarmonyOS提供了用戶程序框架、Ability框架以及UI框架,支持應(yīng)用開發(fā)過程中多終端的業(yè)務(wù)邏輯和界面邏輯進(jìn)行復(fù)用,能夠?qū)崿F(xiàn)應(yīng)用的一次開發(fā)、多端部署,提升了跨設(shè)備應(yīng)用的開發(fā)效率。鴻蒙操作系統(tǒng)技術(shù)特性5.一次開發(fā),多端部署UI框架支持使用ArkTS、JS、Java語言進(jìn)行開發(fā),提供了豐富的多態(tài)控件,可以在手機(jī)、平板、智能穿戴、智慧屏、車機(jī)上顯示不同的UI效果。采用業(yè)界主流設(shè)計(jì)方式,提供多種響應(yīng)式布局方案,支持柵格化布局,滿足不同屏幕的界面適配能力。鴻蒙操作系統(tǒng)技術(shù)特性6.統(tǒng)一OS,彈性部署HarmonyOS支持不同的終端設(shè)備。由于設(shè)備的硬件資源和功能各不相同,HarmonyOS通過組件化和小型化等設(shè)計(jì)方法,在這些設(shè)備上進(jìn)行彈性部署。組件自由選擇(組件可有可無):根據(jù)硬件的形態(tài)和需求,可以選擇所需的組件。組件內(nèi)功能集自由配置(組件可大可?。焊鶕?jù)硬件的資源情況和功能需求,可以選擇配置組件中的功能集。例如,選擇配置圖形框架組件中的部分控件。支持組件間依賴的關(guān)聯(lián)(平臺可大可小):根據(jù)編譯鏈關(guān)系,可以自動(dòng)生成組件化的依賴關(guān)系。例如,選擇圖形框架組件,將會自動(dòng)選擇依賴的圖形引擎組件等。謝謝1.2.3
鴻蒙操作系統(tǒng)類型通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙操作系統(tǒng)有哪些類型鴻蒙操作系統(tǒng)類型OpenHarmony是一個(gè)面向全場景,支持各類設(shè)備的系統(tǒng)。這里的設(shè)備包括像MCU單片機(jī)這樣資源較少的芯片,也支持像RK3568這樣的多核CPU。為了能夠適應(yīng)多種硬件,OpenHarmony提供了liteOS、Linux等內(nèi)核,基于這些內(nèi)核形成了不同的系統(tǒng)類型,即輕量系統(tǒng),小型系統(tǒng),標(biāo)準(zhǔn)系統(tǒng)。輕量系統(tǒng)小型系統(tǒng)標(biāo)準(zhǔn)系統(tǒng)OpenHarmony鴻蒙操作系統(tǒng)類型
1.輕量系統(tǒng)(minisystem)使用MCU類處理器,例如ArmCortex-M芯片、RISC-V32位芯片的設(shè)備,硬件資源極其有限,支持的設(shè)備最小內(nèi)存為128KB,可以提供多種輕量級網(wǎng)絡(luò)協(xié)議,輕量級的圖形框架,以及豐富的IoT總線讀寫部件等??芍蔚漠a(chǎn)品如智能家居領(lǐng)域的連接類模組、傳感器設(shè)備、穿戴類設(shè)備等。鴻蒙操作系統(tǒng)類型
2.小型系統(tǒng)(smallsystem)使用應(yīng)用處理器,例如ArmCortex-A芯片的設(shè)備,支持的設(shè)備最小內(nèi)存為1MB,可以提供更高的安全能力、標(biāo)準(zhǔn)的圖形框架、視頻編解碼的多媒體能力??芍蔚漠a(chǎn)品如智能家居領(lǐng)域的IPCamera、電子貓眼、路由器以及行車記錄儀等。鴻蒙操作系統(tǒng)類型
3.標(biāo)準(zhǔn)系統(tǒng)(standardsystem)使用應(yīng)用處理器,例如ArmCortex-A芯片的設(shè)備,支持的設(shè)備最小內(nèi)存為128MB,可以提供增強(qiáng)的交互能力、3DGPU以及硬件合成能力、更多控件以及動(dòng)效更豐富的圖形能力、完整的應(yīng)用框架??芍蔚漠a(chǎn)品如高端的冰箱顯示屏。謝謝2.1.1鴻蒙設(shè)備開發(fā)硬件環(huán)境要求通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙設(shè)備開發(fā)硬件環(huán)境要求鴻蒙設(shè)備開發(fā)硬件環(huán)境要求1.開發(fā)終端硬件環(huán)境鴻蒙系統(tǒng)的編譯工作是在電腦上進(jìn)行的,對電腦的硬件配置有一定的要求。最低配置要求:內(nèi)存8G,硬盤空間256G;推薦配置要求:內(nèi)容16G,硬盤空間500G。鴻蒙設(shè)備開發(fā)硬件環(huán)境要求2.設(shè)備硬件環(huán)境-輕量系統(tǒng)系列芯片(1)Hi3861芯片Hi3861是海思半導(dǎo)體開發(fā)的一款高度集成的2.4GHzSoCWiFi芯片,可用于智能家電等物聯(lián)網(wǎng)智能終端領(lǐng)域。典型應(yīng)用場景包括智慧路燈、智慧物流、人體紅外等連接類設(shè)備。(2)BES2600芯片BES2600芯片是恒玄科技設(shè)計(jì)的一款集成Cortex-M33Star雙核和Cortex-A7雙核的IC芯片。典型應(yīng)用場景包括智能硬件、帶屏類模組產(chǎn)品,如音箱、手表等。鴻蒙設(shè)備開發(fā)硬件環(huán)境要求2.設(shè)備硬件環(huán)境-輕量系統(tǒng)系列芯片(3)ASR582X芯片ASR582X系列芯片是翱捷科技開發(fā)的一款低功耗、高性能、高度集成的支持1T1RWi-Fi+BLE的ComboSoC芯片。廣泛應(yīng)用于智能照明、安全、遙控、電器、可穿戴式電子設(shè)備、網(wǎng)狀網(wǎng)絡(luò)、WLAN位置感知設(shè)備、無線局域網(wǎng)定位系統(tǒng)信標(biāo)、工業(yè)無線控制、傳感器網(wǎng)絡(luò)等各類行業(yè)的終端產(chǎn)品。(4)GR5515芯片GR5515是匯頂科技開發(fā)的GR551x系列芯片,廣泛應(yīng)用于物聯(lián)網(wǎng)(IoT)和智能穿戴設(shè)備領(lǐng)域。鴻蒙設(shè)備開發(fā)硬件環(huán)境要求2.設(shè)備硬件環(huán)境-小型系統(tǒng)系列芯片(1)STM32MP157A芯片STM32MP157A芯片是由意法半導(dǎo)體公司推出的一款嵌入式處理器,具有高度集成、功能豐富、性能強(qiáng)勁等特點(diǎn)。廣泛應(yīng)用于工業(yè)控制、智能家居、智能物聯(lián)網(wǎng)等領(lǐng)域。(2)Hi3516芯片Hi3516是海思半導(dǎo)體針對高清IPCamera產(chǎn)品應(yīng)用開發(fā)的一款專業(yè)高端SOC芯片。典型應(yīng)用場景包括帶屏智能設(shè)備,如帶屏冰箱、車機(jī)等。鴻蒙設(shè)備開發(fā)硬件環(huán)境要求2.設(shè)備硬件環(huán)境-標(biāo)準(zhǔn)系統(tǒng)系列芯片(1)RK3568芯片RK3568芯片是瑞芯微開發(fā)的一款中高端的通用型SOC,支持安卓11和linux系統(tǒng),主要面向物聯(lián)網(wǎng)網(wǎng)關(guān)、NVR存儲、工控平板、工業(yè)檢測、工控盒、卡拉OK、云終端、車載中控等行業(yè)定制市場。(2)Hi3751V351芯片Hi3751V351芯片是海思半導(dǎo)體開發(fā)的全球制式FHD(全高清)智能電視主處理芯片,典型應(yīng)用場景包括智能電視、智能家居中控屏、智能顯示器、商顯廣告屏、交互白板、工業(yè)控制屏、打印機(jī)屏、白電屏、健身器顯示屏等。(3)AmlogicA311D芯片AmlogicA311D芯片是晶晨半導(dǎo)體開發(fā)的一款A(yù)I應(yīng)用處理器,典型應(yīng)用場景包括智能家居、AI人臉識別、工業(yè)控制、智慧車載、多媒體處理、AI邊緣計(jì)算等。謝謝2.1.2鴻蒙設(shè)備開發(fā)軟件環(huán)境要求通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙設(shè)備開發(fā)軟件環(huán)境要求鴻蒙設(shè)備開發(fā)軟件環(huán)境要求在目前階段,鴻蒙系統(tǒng)大部分的開發(fā)板源碼還不支持在Windows系統(tǒng)環(huán)境下進(jìn)行編譯,如Hi3861系列開發(fā)板。因此,就需要使用Linux系統(tǒng)的編譯環(huán)境對源碼進(jìn)行編譯。在鴻蒙設(shè)備開發(fā)場景中,可以搭建一套Windows+Linux交叉編譯的開發(fā)環(huán)境,在Windows系統(tǒng)和Linux系統(tǒng)中都安裝DevEcoDeviceTool工具。Windows系統(tǒng)Linux系統(tǒng)鴻蒙設(shè)備開發(fā)環(huán)境鴻蒙設(shè)備開發(fā)軟件環(huán)境要求通過Windows平臺的DevEcoDeviceTool可視化界面進(jìn)行相關(guān)操作,使用遠(yuǎn)程連接的方式對接Ubuntu下的DevEcoDeviceTool(可以不安裝VisualStudioCode),然后對Ubuntu下的源碼進(jìn)行開發(fā)、編譯、燒寫等操作。鴻蒙設(shè)備開發(fā)軟件環(huán)境要求對windows系統(tǒng)的具體要求如下:Windows系統(tǒng)要求:Windows1064位系統(tǒng)推薦內(nèi)存8GB及以上硬盤100GB及以上對Linux系統(tǒng)的具體要求如下:Linux系統(tǒng)要求Ubuntu20.04及以上版本內(nèi)存推薦16GB及以上Windows和Ubuntu系統(tǒng)上安裝的DevEcoDeviceTool為最新版本,且版本號需相同謝謝2.1.3鴻蒙設(shè)備開發(fā)環(huán)境的搭建通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙設(shè)備開發(fā)環(huán)境的搭建進(jìn)行鴻蒙開發(fā)環(huán)境的搭建鴻蒙設(shè)備開發(fā)環(huán)境的搭建1.安裝虛擬機(jī)在VirtualBox官網(wǎng)Downloads頁面/wiki/Downloads,可以找到不同操作系統(tǒng)版本的VirtualBox安裝包的下載方式。單擊“Windowshosts”鏈接,即可下載Windows版的VirtualBox安裝包。雙擊安裝包文件,根據(jù)安裝向?qū)У闹敢瓿砂惭b。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(1)創(chuàng)建環(huán)境在VirtualBox啟動(dòng)后,單擊頁面上的“新建(N)”按鈕,彈出“新建虛擬電腦”設(shè)置向?qū)В骸懊Q”文本框輸入名稱“文件夾”位置自由設(shè)置,建議放在C盤之外的其他盤下“虛擬光盤”暫時(shí)跳過,不選擇“類型”選擇Linux單擊“下一步”按鈕,彈出硬件設(shè)置頁面。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(1)創(chuàng)建環(huán)境在硬件頁面設(shè)置虛擬電腦的內(nèi)存大小和處理器數(shù)量。“內(nèi)存大小”根據(jù)當(dāng)前主機(jī)的實(shí)際物理內(nèi)存進(jìn)行設(shè)置,例如設(shè)置為8192MB,處理器根據(jù)需要設(shè)置。單擊“下一步”按鈕,彈出“虛擬硬盤”設(shè)置向?qū)?。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(1)創(chuàng)建環(huán)境在“虛擬硬盤”設(shè)置向?qū)е?,建議設(shè)置為200GB,這樣避免在后期使用的時(shí)候出現(xiàn)空間不足的情況。點(diǎn)擊“下一步”按鈕,彈出摘要頁面,顯示虛擬電腦配置信息。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(1)創(chuàng)建環(huán)境摘要頁面,顯示虛擬電腦配置信息。點(diǎn)擊完成按鈕,Ubuntu虛擬機(jī)及虛擬硬盤就創(chuàng)建完成。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(2)設(shè)置網(wǎng)絡(luò)點(diǎn)擊VirtualBox管理頁面的設(shè)置,左側(cè)欄選擇網(wǎng)絡(luò),連接方式選擇“橋接網(wǎng)卡”,選擇該方式的前提是電腦使用的是有線網(wǎng)絡(luò)。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(3)選擇鏡像文件選擇虛擬盤,選擇電腦本地的Ubuntu-20.04鏡像文件,鏡像文件可在華為云開源鏡像站進(jìn)行下載/home。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(4)安裝設(shè)置全部完成之后,點(diǎn)擊管理頁面的啟動(dòng)圖標(biāo)啟動(dòng)虛擬機(jī),稍等片刻后出現(xiàn)Ubuntu安裝向?qū)ы撁?。小技巧:先點(diǎn)擊右上角關(guān)閉安裝,在桌面右鍵選擇DisplaySettings,修改分辨率,保存后回到桌面,雙擊桌面的Ubuntu安裝包繼續(xù)安裝。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(4)安裝左側(cè)欄選擇“中文(簡體)”,點(diǎn)擊右下角繼續(xù)。在鍵盤布局選擇頁面,默認(rèn)是美式鍵盤布局,通常無須修改。點(diǎn)擊“繼續(xù)”進(jìn)入下一個(gè)頁面。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(4)安裝在“更新和其他軟件”設(shè)置頁面,建議選擇最小安裝。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(4)安裝進(jìn)入“安裝類型”設(shè)置頁面,默認(rèn)選擇“清除整個(gè)磁盤并安裝Ubuntu”選項(xiàng),單擊“現(xiàn)在安裝”按鈕。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(4)安裝彈出確認(rèn)分區(qū)對話框,點(diǎn)擊“繼續(xù)”按鈕,進(jìn)入時(shí)區(qū)選擇頁面,這里選擇“shanghai”。點(diǎn)繼續(xù)進(jìn)入用戶設(shè)置界面。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(4)安裝用戶設(shè)置頁面如下:“您的姓名”:設(shè)置登錄頁面顯示的用戶名稱“您的計(jì)算機(jī)名”:設(shè)置主機(jī)名,例如填virtualBox“選擇一個(gè)用戶名”:設(shè)置用戶名,例如可以填user“選擇一個(gè)密碼”和“確認(rèn)您的密碼”:設(shè)置密碼和確認(rèn)密碼鴻蒙設(shè)備開發(fā)環(huán)境的搭建2.安裝Ubuntu系統(tǒng)(4)安裝內(nèi)容填寫完成后,點(diǎn)擊“繼續(xù)”按鈕開始安裝過程,安裝向?qū)@示進(jìn)度條,等待幾分鐘后,安裝過程完成,點(diǎn)擊“現(xiàn)在重啟”。重啟過程中系統(tǒng)提示“Pleaseremovetheinstallationmedium,thenpressENTER:”,按回車鍵。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2、安裝Ubuntu系統(tǒng)(5)環(huán)境設(shè)置重啟成功后顯示Ubuntu系統(tǒng)登錄頁面,輸入設(shè)置的密碼進(jìn)入系統(tǒng)。點(diǎn)擊左下角顯示應(yīng)用程序,選擇軟件和更新。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2、安裝Ubuntu系統(tǒng)(5)環(huán)境設(shè)置在軟件和更新設(shè)置頁面,點(diǎn)擊“中國的服務(wù)器”后下拉菜單,在選擇下載服務(wù)器頁面選擇“”,點(diǎn)擊“選擇服務(wù)器”按鈕。鴻蒙設(shè)備開發(fā)環(huán)境的搭建2、安裝Ubuntu系統(tǒng)(5)環(huán)境設(shè)置彈出認(rèn)證框輸入密碼,然后點(diǎn)擊關(guān)閉,在新彈出的窗口點(diǎn)擊重新載入更新軟件緩存。經(jīng)過以上的一系列操作,Ubuntu系統(tǒng)就安裝好了。鴻蒙設(shè)備開發(fā)環(huán)境的搭建3.搭建Ubuntu環(huán)境(1)修改Ubuntu終端環(huán)境右鍵打開終端窗口執(zhí)行命令,確認(rèn)輸出結(jié)果為bash。如果輸出結(jié)果不是bash,需要進(jìn)行設(shè)置,修改Ubuntushell為bash。
命令:ls-l/bin/sh在終端窗口中執(zhí)行命令,輸入密碼,然后選擇No,將Ubuntushell由dash修改為bash。
命令:sudodpkg-reconfiguredash鴻蒙設(shè)備開發(fā)環(huán)境的搭建3.搭建Ubuntu環(huán)境(2)下載DevEcoDeviceTool3.0ReleaseLinux版本,下載完成后,解壓軟件包,對文件夾進(jìn)行賦權(quán)。進(jìn)入DevEcoDeviceTool軟件包目錄,執(zhí)行命令解壓軟件包,其中devicetool-linux-tool-01.zip為軟件包名稱,請根據(jù)實(shí)際進(jìn)行修改。命令:unzipdevicetool-linux-tool-01.zip進(jìn)入解壓后的文件夾,執(zhí)行命令,賦予安裝文件可執(zhí)行權(quán)限,其中devicetool-linux-tool-01.sh請根據(jù)實(shí)際進(jìn)行修改命令:chmodu+xdevicetool-linux-tool-01.sh鴻蒙設(shè)備開發(fā)環(huán)境的搭建3.搭建Ubuntu環(huán)境(3)安裝DevEcoDeviceTool,其中devicetool-linux-tool-01.sh請根據(jù)實(shí)際進(jìn)行修改。命令:sudo./devicetool-linux-tool-01.sh在安裝過程中,會自動(dòng)檢查Python是否安裝,且要求Python為3.8~3.9版本。如果不滿足,則安裝過程中會自動(dòng)安裝,提示“Doyouwanttocontinue?”,請輸入“Y”后繼續(xù)安裝。安裝完成后,當(dāng)界面輸出“DevecoDeviceToolsuccessfullyinstalled.”時(shí),表示DevEcoDeviceTool安裝成功。鴻蒙設(shè)備開發(fā)環(huán)境的搭建4.搭建windows環(huán)境通過Windows系統(tǒng)遠(yuǎn)程訪問Ubuntu環(huán)境,先在Windows系統(tǒng)中安裝DevEcoDeviceTool,以便使用Windows平臺的DevEcoDeviceTool可視化界面進(jìn)行相關(guān)操作。鴻蒙設(shè)備開發(fā)環(huán)境的搭建5.配置windows遠(yuǎn)程訪問Ubuntu環(huán)境(1)安裝SSH服務(wù)并獲取遠(yuǎn)程訪問的IP地址在Ubuntu系統(tǒng)中,打開終端工具,安裝SSH服務(wù)。
命令:sudoapt-getinstallopenssh-server啟動(dòng)SSH服務(wù)。
命令:sudosystemctlstartssh獲取當(dāng)前用戶的IP地址,用于Windows系統(tǒng)遠(yuǎn)程訪問Ubuntu環(huán)境。
命令:ifconfig鴻蒙設(shè)備開發(fā)環(huán)境的搭建5.配置windows遠(yuǎn)程訪問Ubuntu環(huán)境(2)安裝RemoteSSH打開Windows系統(tǒng)下的VisualStudioCode,點(diǎn)擊左側(cè)擴(kuò)展按鈕
,在插件市場的搜索輸入框中輸入“remote-ssh”。點(diǎn)擊Remote-SSH后面的安裝按鈕,安裝Remote-SSH。鴻蒙設(shè)備開發(fā)環(huán)境的搭建5.配置windows遠(yuǎn)程訪問Ubuntu環(huán)境(3)遠(yuǎn)程連接Ubuntu環(huán)境打開Windows系統(tǒng)的VisualStudioCode,點(diǎn)擊,在遠(yuǎn)程資源管理器頁面點(diǎn)擊+按鈕。在彈出的SSH連接命令輸入框中輸入“sshusername@ip_address”,其中ip_address為要連接的遠(yuǎn)程計(jì)算機(jī)的IP地址,username為登錄遠(yuǎn)程計(jì)算機(jī)的帳號。在彈出的輸入框中,選擇SSHconfiguration文件,選擇默認(rèn)的第一選項(xiàng)即可鴻蒙設(shè)備開發(fā)環(huán)境的搭建5.配置windows遠(yuǎn)程訪問Ubuntu環(huán)境(3)遠(yuǎn)程連接Ubuntu環(huán)境在SSHTARGETS中,找到遠(yuǎn)程計(jì)算機(jī),點(diǎn)擊打開遠(yuǎn)程計(jì)算機(jī)。在彈出的輸入框中,選擇Linux,然后選擇Continue,輸入登錄遠(yuǎn)程計(jì)算機(jī)的密碼,連接遠(yuǎn)程計(jì)算機(jī)。鴻蒙設(shè)備開發(fā)環(huán)境的搭建5.配置windows遠(yuǎn)程訪問Ubuntu環(huán)境(4)注冊訪問Ubuntu環(huán)境的公鑰安裝Git工具插件。打開Gitbash命令行窗口,執(zhí)行命令,生成SSH公鑰,其中username和ip填寫連接Ubuntu系統(tǒng)時(shí)需要的參數(shù)。命令:ssh-keygen-trsa命令:ssh-copy-id-i~/.ssh/id_rsa.pubusername@ip鴻蒙設(shè)備開發(fā)環(huán)境的搭建5.配置windows遠(yuǎn)程訪問Ubuntu環(huán)境(4)注冊訪問Ubuntu環(huán)境的公鑰在VisualStudioCode中,點(diǎn)擊遠(yuǎn)程連接的設(shè)置按鈕,并選擇打開config文件。在config配置文件中添加SSHKey文件信息鴻蒙設(shè)備開發(fā)環(huán)境的搭建6.安裝Samba服務(wù)(1)在Ubuntu中,打開終端執(zhí)行以下命令,安裝Samba服務(wù)。
命令:sudoaptinstallsamba(2)輸入命令,打開Samba配置文件。
命令:sudogedit/etc/samba/smb.conf鴻蒙設(shè)備開發(fā)環(huán)境的搭建6.安裝Samba服務(wù)在Samba配置文件末尾添加如下內(nèi)容:[home]#在Windows中映射的根文件夾名稱(此處以“home”為例)comment=UserHomes#共享信息說明path=/home/xxx#共享目錄,/home/xxxx根據(jù)“~”目錄的pwd路徑更改guestok=no#是否拒絕匿名訪問writable=yes#是否可寫available=yes#是否可獲取browseable=yes#是否可瀏覽directorymask=0775#默認(rèn)創(chuàng)建的目錄權(quán)限createmask=0775#默認(rèn)創(chuàng)建的文件權(quán)限鴻蒙設(shè)備開發(fā)環(huán)境的搭建6.安裝Samba服務(wù)(3)輸入命令,創(chuàng)建Samba用戶。
命令:sudosmbpasswd-ausername命令執(zhí)行后,終端顯示“NewSMBpassword:”提示輸入密碼。輸入密碼后終端顯示“RetypenewSMBpassword:”再次輸入密碼確認(rèn),當(dāng)終端顯示“Addaduseruser.”表示Samba用戶添加完成。(4)輸入命令,重啟Samba服務(wù)。
命令:sudoservicesmbdrestart鴻蒙設(shè)備開發(fā)環(huán)境的搭建7.映射Samba服務(wù)的共享目錄到本地磁盤(1)在終端中輸入“ifconfig”,查看虛擬機(jī)的IP地址。(2)打開我的電腦,在計(jì)算機(jī)下找到映射網(wǎng)絡(luò)驅(qū)動(dòng)器,彈出映射網(wǎng)絡(luò)驅(qū)動(dòng)器窗口。文件夾位置填寫Samba服務(wù)地址和共享目錄。鴻蒙設(shè)備開發(fā)環(huán)境的搭建7.映射Samba服務(wù)的共享目錄到本地磁盤(3)在彈出的“輸入網(wǎng)絡(luò)憑據(jù)”對話框中輸入Samba用戶名和密碼,勾選“記住我的憑據(jù)”選項(xiàng),單擊確定。用戶名和密碼輸入完成后,即可在Windows下看到Linux的共享目錄,并可對其進(jìn)行訪問。鴻蒙設(shè)備開發(fā)環(huán)境的搭建8.安裝Docker環(huán)境(1)在終端輸入Docker安裝命令。
命令:sudoaptinstalldocker.io鴻蒙設(shè)備開發(fā)環(huán)境的搭建8.安裝Docker環(huán)境(2)安裝OpenHarmony編譯的Docker環(huán)境包。
命令:sudodockerpull/openharmony-docker/openharmony-docker:1.0.0謝謝2.2鴻蒙系統(tǒng)構(gòu)建工具鏈通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙系統(tǒng)構(gòu)建工具鏈了解Ninja構(gòu)建工具了解Ninja常用語法了解GN常用語法鴻蒙系統(tǒng)構(gòu)建工具鏈1.什么是工具鏈?工具鏈本質(zhì)上是工具和鏈。工具的目標(biāo)是生成可以運(yùn)行的程序或庫文件。為了達(dá)到該目標(biāo),內(nèi)部需要經(jīng)歷編譯過程和鏈接過程。編譯過程:編譯的輸入:程序代碼;編譯的輸出:目標(biāo)文件;編譯需要的工具:編譯器GCC。鏈接過程:鏈接的輸入:程序運(yùn)行所依賴的庫文件或某個(gè)庫所依賴的另一個(gè)庫文件;鏈接的輸出:程序的可執(zhí)行文件,或者可被調(diào)用的完整的庫文件;鏈接需要的工具:鏈接器,即LD。鴻蒙系統(tǒng)構(gòu)建工具鏈2.什么是構(gòu)建工具?構(gòu)建工具是一個(gè)可編程的工具,它描述內(nèi)容包括:整個(gè)工程如何編譯、連接、打包等規(guī)則,工程中的哪些源文件需要編譯以及如何編譯,需要?jiǎng)?chuàng)建哪些庫文件以及如何創(chuàng)建庫文件。構(gòu)建一個(gè)項(xiàng)目通常包含了依賴管理、測試、編譯、打包、發(fā)布等流程,構(gòu)建工具可以自動(dòng)化進(jìn)行這些操作,從而為我們減少這些繁瑣的工作。其中構(gòu)建工具提供的依賴管理能夠可以自動(dòng)處理依賴關(guān)系。例如一個(gè)項(xiàng)目需要用到依賴A,A又依賴于B,那么構(gòu)建工具就能幫我們導(dǎo)入B,而不需要我們手動(dòng)去尋找并導(dǎo)入。鴻蒙系統(tǒng)構(gòu)建工具鏈3.鴻蒙構(gòu)建工具鏈鴻蒙內(nèi)核LliteOS的編譯構(gòu)建工具是hb,hb是ohos-build的簡稱,ohos是openharmonyOS的簡稱。鴻蒙構(gòu)建系統(tǒng)是由Python、GN、Ninja、makefile等幾個(gè)部分組成:Python:對參數(shù)、環(huán)境變量、文件進(jìn)行操作,負(fù)責(zé)編譯前的準(zhǔn)備工作和為GN收集命令參數(shù)。GN:GN即GenerateNinja,用于生成Ninja文件。Ninja:Ninja是一個(gè)致力于速度的小型編譯系統(tǒng)。Makefile:Makefile文件中包括了編譯和處理規(guī)則,通過Makefile工具解析Makefile文件中的命令來指導(dǎo)整個(gè)工程的編譯過程。Ninja構(gòu)建工具1.Ninja簡介Ninja是Google的一名程序員推出的注重速度的構(gòu)建工具,是一個(gè)專注于速度的小型構(gòu)件系統(tǒng),只需拷貝一個(gè)可執(zhí)行程序ninja就可以執(zhí)行,不需要依賴任何庫。Ninja的設(shè)計(jì)目的:是為了使編譯過程更快,Ninja類似構(gòu)建工具make,make即GNUMake,一個(gè)用于決定如何使用命令完成最終目標(biāo)構(gòu)建的程序。Make本身不知道如何具體的完成目標(biāo)的構(gòu)建工作,它需要通過makefile中的描述來決定目標(biāo)構(gòu)建的具體方案,根據(jù)makefile中的規(guī)則執(zhí)行命令,最后完成編譯輸出。Ninja構(gòu)建工具2.Ubuntu環(huán)境安裝NinjaNinja編譯需要依賴re2c,re2c是一款語法分析器。在Linux系統(tǒng)中右鍵打開終端,終端中輸入命令安裝re2c。
命令:sudoapt-getinstallre2c檢測re2c版本。
命令:re2c--versionNinja構(gòu)建工具3.Ubuntu環(huán)境安裝Ninja安裝Ninja,在終端中輸入下載命令。
命令:gitclone/ninja-build/ninja.git對Ninja進(jìn)行安裝和編譯。在終端中輸入命令:
命令:cdninja
命令:./configure.py--bootstrap檢測Ninja安裝情況。
命令:sudocp./ninja/usr/bin
命令:ninja--version
Ninja常用語法1.基本概念edge(邊):build語句,可以指定目標(biāo)(target)輸出(output)、規(guī)則(rule)與輸入(input),是編譯過程拓?fù)鋱D中的一條邊(edge)。target(目標(biāo)):編譯過程需要差生的目標(biāo),由build語句指定。output(輸出):build語句的前半段,是target的另一種稱呼。input(輸入):build語句的后半段,用于產(chǎn)生output的文件或目標(biāo),另一種稱呼是依賴。rule(規(guī)則):通過指定command與一些內(nèi)置變量,決定如何從輸入產(chǎn)生輸出。Pool:一組rule或edge,通過指定其depth,可以控制并行上限。scope(作用域):變量的作用范圍,有rule與build語句的塊級,也有文件級別。
Ninja常用語法2.關(guān)鍵字build:定義一個(gè)edge。rule:定義一個(gè)rule。pool:定義一個(gè)pool。default:指定默認(rèn)的一個(gè)或多個(gè)target。include:添加一個(gè)ninja文件到當(dāng)前scope。subninja:添加一個(gè)ninja文件,其scope與當(dāng)前文件不同。phony:一個(gè)內(nèi)置的特殊規(guī)則,指定非文件的target。
Ninja常用語法3.rule、build及poolrule:一個(gè)rule就是通過${in}輸入的目標(biāo)列表,生成${out}的輸出目標(biāo)列表,目標(biāo)一般是文件。rulenamecommand=echo${in}>${out}var=strbuild:build代碼塊,是編譯過程中的一個(gè)edge。其中,foo是output,bar是input,“:”后面第一個(gè)位置的phony是rule,var是自定義變量。buildfoo:phonybarvar=str
Ninja常用語法pool:限制一些非常消耗硬件資源的edge同時(shí)執(zhí)行。通過pool=example,在rule或build代碼塊中指定對應(yīng)的edge所屬的pool為example。由于example的depth=2,所以a、b、c三個(gè)target最多只有2個(gè)可以同時(shí)生成。poolexampledepth=2ruleecho_varcommand=echo${var}>>${out}pool=examplebuilda:echo_varvar=abuildb:echo_varvar=bbuildc:echo_varvar=cGN常用語法GN是Ninja構(gòu)建文件的元構(gòu)建工具,能夠構(gòu)建出Ninja的.ninja文件,比起Ninja原本的構(gòu)建命令,GN能夠比較好地進(jìn)行依賴管理,并且能夠很方便的輸出構(gòu)建圖譜。GN使用非常簡單的動(dòng)態(tài)類型語言。語言的類型包括:布爾(true,false),64位有符號整數(shù),字符串,列表(任何其他類型),范圍(Scopes),條件語句,循環(huán),函數(shù)調(diào)用。GN常用語法字符串:列表:a="mypath"b="$a/foo.cc"http://b->"mypath/foo.cc"c="foo${a}bar.cc"http://c->"foomypathbar.cc"a=["first"]a+=["second"]//["first","second"]a+=["third","fourth"]//["first","second","third","fourth"]b=a+["fifth"]//["first","second","third","fourth","fifth"]GN常用語法條件語句:if(is_linux||(is_win&&target_cpu=="x86")){source-=["something.cc"]}else{...}GN常用語法循環(huán):函數(shù)調(diào)用:Foreach(i,mylist){print(i)//Note:iisacopyofeachelement,notareferencetoit.}print("helloworld")assert(is_win,"ThisshouldonlybeexecutedonWindows")static_library("mylibrary"){sources=["a.cc"]}謝謝2.2.1鴻蒙構(gòu)建工具鏈介紹通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙系統(tǒng)構(gòu)建工具鏈鴻蒙構(gòu)建工具鏈1.什么是工具鏈?工具鏈本質(zhì)上是工具和鏈。工具的目標(biāo)是生成可以運(yùn)行的程序或庫文件。為了達(dá)到該目標(biāo),內(nèi)部需要經(jīng)歷編譯過程和鏈接過程。編譯過程:編譯的輸入:程序代碼;編譯的輸出:目標(biāo)文件;編譯需要的工具:編譯器GCC。鏈接過程:鏈接的輸入:程序運(yùn)行所依賴的庫文件或某個(gè)庫所依賴的另一個(gè)庫文件;鏈接的輸出:程序的可執(zhí)行文件,或者可被調(diào)用的完整的庫文件;鏈接需要的工具:鏈接器,即LD。鴻蒙構(gòu)建工具鏈2.什么是構(gòu)建工具?構(gòu)建工具是一個(gè)可編程的工具,它描述內(nèi)容包括:整個(gè)工程如何編譯、連接、打包等規(guī)則,工程中的哪些源文件需要編譯以及如何編譯,需要?jiǎng)?chuàng)建哪些庫文件以及如何創(chuàng)建庫文件。構(gòu)建一個(gè)項(xiàng)目通常包含了依賴管理、測試、編譯、打包、發(fā)布等流程,構(gòu)建工具可以自動(dòng)化進(jìn)行這些操作,從而為我們減少這些繁瑣的工作。其中構(gòu)建工具提供的依賴管理能夠可以自動(dòng)處理依賴關(guān)系。例如一個(gè)項(xiàng)目需要用到依賴A,A又依賴于B,那么構(gòu)建工具就能幫我們導(dǎo)入B,而不需要我們手動(dòng)去尋找并導(dǎo)入。鴻蒙構(gòu)建工具鏈3.鴻蒙構(gòu)建工具鏈鴻蒙內(nèi)核LliteOS的編譯構(gòu)建工具是hb,hb是ohos-build的簡稱,ohos是openharmonyOS的簡稱。鴻蒙構(gòu)建系統(tǒng)是由Python、GN、Ninja、makefile等幾個(gè)部分組成:Python:對參數(shù)、環(huán)境變量、文件進(jìn)行操作,負(fù)責(zé)編譯前的準(zhǔn)備工作和為GN收集命令參數(shù)。GN:GN即GenerateNinja,用于生成Ninja文件。Ninja:Ninja是一個(gè)致力于速度的小型編譯系統(tǒng)。Makefile:Makefile文件中包括了編譯和處理規(guī)則,通過Makefile工具解析Makefile文件中的命令來指導(dǎo)整個(gè)工程的編譯過程。謝謝2.2.2
Ninja構(gòu)建工具介紹通過本節(jié)學(xué)習(xí),您可以:了解Ninja構(gòu)建工具Ninja構(gòu)建工具1.Ninja簡介Ninja是Google的一名程序員推出的注重速度的構(gòu)建工具,是一個(gè)專注于速度的小型構(gòu)建系統(tǒng),只需拷貝一個(gè)可執(zhí)行程序ninja就可以執(zhí)行,不需要依賴任何庫。Ninja的設(shè)計(jì)目的:是為了使編譯過程更快,Ninja類似構(gòu)建工具make,make即GNUMake,一個(gè)用于決定如何使用命令完成最終目標(biāo)構(gòu)建的程序。Make本身不知道如何具體的完成目標(biāo)的構(gòu)建工作,它需要通過makefile中的描述來決定目標(biāo)構(gòu)建的具體方案,根據(jù)makefile中的規(guī)則執(zhí)行命令,最后完成編譯輸出。Ninja構(gòu)建工具2.Ubuntu環(huán)境安裝NinjaNinja編譯需要依賴re2c,re2c是一款語法分析器。在Linux系統(tǒng)中右鍵打開終端,終端中輸入命令安裝re2c。
命令:sudoapt-getinstallre2c檢測re2c版本。
命令:re2c--versionNinja構(gòu)建工具3.Ubuntu環(huán)境安裝Ninja安裝Ninja,在終端中輸入下載命令。
命令:gitclone/ninja-build/ninja.git對Ninja進(jìn)行安裝和編譯。在終端中輸入命令:
命令:cdninja
命令:./configure.py--bootstrap檢測Ninja安裝情況。
命令:sudocp./ninja/usr/bin
命令:ninja--version謝謝2.2.3
Ninja常用語法通過本節(jié)學(xué)習(xí),您可以:了解Ninja常用語法
Ninja常用語法1.基本概念edge(邊):build語句,可以指定目標(biāo)(target)輸出(output)、規(guī)則(rule)與輸入(input),是編譯過程拓?fù)鋱D中的一條邊(edge)。target(目標(biāo)):編譯過程需要差生的目標(biāo),由build語句指定。output(輸出):build語句的前半段,是target的另一種稱呼。input(輸入):build語句的后半段,用于產(chǎn)生output的文件或目標(biāo),另一種稱呼是依賴。rule(規(guī)則):通過指定command與一些內(nèi)置變量,決定如何從輸入產(chǎn)生輸出。Pool:一組rule或edge,通過指定其depth,可以控制并行上限。scope(作用域):變量的作用范圍,有rule與build語句的塊級,也有文件級別。
Ninja常用語法2.關(guān)鍵字build:定義一個(gè)edge。rule:定義一個(gè)rule。pool:定義一個(gè)pool。default:指定默認(rèn)的一個(gè)或多個(gè)target。include:添加一個(gè)ninja文件到當(dāng)前scope。subninja:添加一個(gè)ninja文件,其scope與當(dāng)前文件不同。phony:一個(gè)內(nèi)置的特殊規(guī)則,指定非文件的target。
Ninja常用語法3.rule、build及poolrule:一個(gè)rule就是通過${in}輸入的目標(biāo)列表,生成${out}的輸出目標(biāo)列表,目標(biāo)一般是文件。rulenamecommand=echo${in}>${out}var=strbuild:build代碼塊,是編譯過程中的一個(gè)edge。其中,foo是output,bar是input,“:”后面第一個(gè)位置的phony是rule,var是自定義變量。buildfoo:phonybarvar=str
Ninja常用語法pool:限制一些非常消耗硬件資源的edge同時(shí)執(zhí)行。通過pool=example,在rule或build代碼塊中指定對應(yīng)的edge所屬的pool為example。由于example的depth=2,所以a、b、c三個(gè)target最多只有2個(gè)可以同時(shí)生成。poolexampledepth=2ruleecho_varcommand=echo${var}>>${out}pool=examplebuilda:echo_varvar=abuildb:echo_varvar=bbuildc:echo_varvar=c謝謝2.2.4
GN常用語法通過本節(jié)學(xué)習(xí),您可以:了解GN常用語法GN常用語法GN是Ninja構(gòu)建文件的元構(gòu)建工具,能夠構(gòu)建出Ninja的.ninja文件,比起Ninja原本的構(gòu)建命令,GN能夠比較好地進(jìn)行依賴管理,并且能夠很方便的輸出構(gòu)建圖譜。GN使用非常簡單的動(dòng)態(tài)類型語言。語言的類型包括:布爾(true,false),64位有符號整數(shù),字符串,列表(任何其他類型),范圍(Scopes),條件語句,循環(huán),函數(shù)調(diào)用。GN常用語法字符串:列表:a="mypath"b="$a/foo.cc"http://b->"mypath/foo.cc"c="foo${a}bar.cc"http://c->"foomypathbar.cc"a=["first"]a+=["second"]//["first","second"]a+=["third","fourth"]//["first","second","third","fourth"]b=a+["fifth"]//["first","second","third","fourth","fifth"]GN常用語法條件語句:if(is_linux||(is_win&&target_cpu=="x86")){source-=["something.cc"]}else{...}GN常用語法循環(huán):函數(shù)調(diào)用:Foreach(i,mylist){print(i)//Note:iisacopyofeachelement,notareferencetoit.}print("helloworld")assert(is_win,"ThisshouldonlybeexecutedonWindows")static_library("mylibrary"){sources=["a.cc"]}謝謝3.1.1鴻蒙系統(tǒng)源碼框架通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙系統(tǒng)源碼框架鴻蒙系統(tǒng)源碼框架在進(jìn)行具體的開發(fā)工作之前,鴻蒙系統(tǒng)源碼的目錄結(jié)構(gòu)是必須要了解的。鴻蒙系統(tǒng)源碼的目錄結(jié)構(gòu)如圖所示:鴻蒙系統(tǒng)源碼框架目錄名描述applicationsapplications目錄下有sample、standard兩個(gè)文件夾,其中sample文件夾下是開發(fā)板案例代碼及教程,standard文件夾下是鴻蒙標(biāo)準(zhǔn)系統(tǒng)的部分應(yīng)用,為開發(fā)者提供了構(gòu)建標(biāo)準(zhǔn)系統(tǒng)應(yīng)用的具體實(shí)例,這些應(yīng)用支持在所有標(biāo)準(zhǔn)系統(tǒng)的設(shè)備上使用basebase目錄是有關(guān)基礎(chǔ)軟件服務(wù)子習(xí)系統(tǒng)集和硬件服務(wù)子系統(tǒng)集的內(nèi)容buildBulid目錄下主要包含了構(gòu)建腳本、配置信息腳本、工具鏈、工具等內(nèi)容Developtools該目錄是研發(fā)工具鏈子系統(tǒng),包含ACE框架工具、追蹤進(jìn)程軌跡工具、HDC工具、性能優(yōu)化組件、打包工具組件等內(nèi)容device該目錄下包含支持的硬件和模擬器,開發(fā)者可將與移植有關(guān)的文件放到該目錄下docsdocs目錄下是中文和英文的相關(guān)文檔鴻蒙系統(tǒng)源碼框架目錄名描述domainsDomains目錄是增強(qiáng)軟件服務(wù)子系統(tǒng)集,對照鴻蒙技術(shù)機(jī)構(gòu)圖可知,內(nèi)有智慧屏專有業(yè)務(wù)子系統(tǒng)、穿戴專有業(yè)務(wù)子系統(tǒng)、IoT專有業(yè)務(wù)子系統(tǒng)等,可以根據(jù)項(xiàng)目需要進(jìn)行使用,可以進(jìn)行剪切drivers該目錄下是驅(qū)動(dòng)子系統(tǒng)對應(yīng)的HDF源碼,包含適配代碼、驅(qū)動(dòng)框架核心代碼、外設(shè)驅(qū)動(dòng)代碼foundationfoundation目錄是有關(guān)系統(tǒng)基礎(chǔ)能力子系統(tǒng)集的內(nèi)容,包含了Ability開發(fā)框架接口、Ability管理服務(wù)、ACEUI框架、AI子系統(tǒng)、用戶程序框架接口、通信方式、分布式硬件、分布式任務(wù)調(diào)度、分布式數(shù)據(jù)管理、圖像子系統(tǒng)、多媒體子系統(tǒng)、多模輸入子系統(tǒng)等鴻蒙系統(tǒng)源碼框架目錄名描述kernelkernel目錄是內(nèi)核子系統(tǒng)目錄,鴻蒙支持的內(nèi)核有l(wèi)inux、LiteOS_A、LiteOS_Mprebuilts該目錄下是官方的編譯工具,包含cmake、GCC、Python、clang等一系列編譯工具test測試子系統(tǒng),該目錄下包含了開發(fā)者測試組件、測試框架核心組件、XTS兼容性測試組件等third_party該目錄主要是開源第三方的組件。隨著每一次版本的更新,第三方的組件也會相應(yīng)的增加很多utils該目錄下是常用的工具集,包括工具類的native層實(shí)現(xiàn)、ndk庫的配置目錄,系統(tǒng)相關(guān)的預(yù)定義值和安全策略配置等vendor該目錄下是不同廠商的開發(fā)板芯片驅(qū)動(dòng)軟件,以及部分仿真工程樣例謝謝3.1.2鴻蒙系統(tǒng)源碼下載通過本節(jié)學(xué)習(xí),您可以:了解鴻蒙系統(tǒng)源碼下載鴻蒙系統(tǒng)源碼下載1.DevEcoMarketplace網(wǎng)站下載源碼
(1)準(zhǔn)備工作需要在本地安裝Node.js和hpm命令行工具。從Node官網(wǎng)下載/zh-cn/download/,推薦安裝LTS版本。打開CMD,輸入命令:npminstall-g@ohos/hpm-cli安裝完成后,輸入如下命令,顯示hpm版本,表示安裝成功:hpm-V或hpm--version鴻蒙系統(tǒng)源碼下載(2)下載組件打開DevEcoMarketplace網(wǎng)站/#/cn/home,點(diǎn)擊頂部的設(shè)備組件,左側(cè)邊欄可以看到開源發(fā)行版的相關(guān)選項(xiàng)。1.DevEcoMarketplace網(wǎng)站下載源碼鴻蒙系統(tǒng)源碼下載(2)下載組件在頂部的搜索框內(nèi)輸入關(guān)鍵字,例如“攝像頭”,會出現(xiàn)與關(guān)鍵字匹配的結(jié)果。左側(cè)邊欄還可以添加過濾條件如開發(fā)板、內(nèi)核。1.DevEcoMarketplace網(wǎng)站下載源碼鴻蒙系統(tǒng)源碼下載(2)下載組件選擇其中一個(gè)點(diǎn)開,可以看到發(fā)行版的詳情介紹。通過右上角的“直接下載”可以直接下載到本地;點(diǎn)擊“設(shè)備組件裁剪”可以打開組件詳情頁,進(jìn)行定制組件的添加,填寫項(xiàng)目信息進(jìn)行下載。1.DevEcoMarketplace網(wǎng)站下載源碼鴻蒙系統(tǒng)源碼下載(3)安裝組件下載的組件是壓縮包形式,需要先解壓縮。在解壓后的文件目錄地址欄中輸入CMD,打開命令行窗口。執(zhí)行hpminstall命令,系統(tǒng)會自動(dòng)下載并安裝組件。窗口中顯示“Installsuccessful”表示組件下載及安裝成功。下載的組件將保存在工程目錄下的ohos_bundles文件夾中。1.DevEcoMarketplace網(wǎng)站下載源碼鴻蒙系統(tǒng)源碼下載2.鏡像站點(diǎn)下載源碼通過鏡像站點(diǎn)下載的是鴻蒙系統(tǒng)整個(gè)源碼,需要自行裁剪,才能進(jìn)一步的進(jìn)行開發(fā)。從鏡像站點(diǎn)可以獲取穩(wěn)定版本和最新發(fā)布的版本,其他版本的獲取源碼方式以及具體版本信息可以參考官網(wǎng)的Release-Notes。LTS版本源碼。LTS版本源碼版本信息下載站點(diǎn)全量代碼(標(biāo)準(zhǔn)、輕量和小型系統(tǒng))3.0站點(diǎn)標(biāo)準(zhǔn)系統(tǒng)解決方案(二進(jìn)制)3.0站點(diǎn)Hi3861解決方案(二進(jìn)制)3.0站點(diǎn)Hi3518解決方案(二進(jìn)制)3.0站點(diǎn)Hi3516解決方案-LiteOS(二進(jìn)制)3.0站點(diǎn)Hi3516解決方案-Linux(二進(jìn)制)3.0站點(diǎn)RELEASE-NOTES3.0站點(diǎn)鴻蒙系統(tǒng)源碼下載3.創(chuàng)建工程自動(dòng)獲取源碼需要在Windows環(huán)境通過RemoteSSH遠(yuǎn)程連接上Ubuntu,才可以創(chuàng)建OpenHarmony新工程。打開DevEcoDeviceTooI,進(jìn)入主頁,點(diǎn)擊“新建工程”。鴻蒙系統(tǒng)源碼下載3.創(chuàng)建工程自動(dòng)獲取源碼配置說明:OpenHarmony源碼:選擇需要下載的OpenHarmony源碼。工程名:設(shè)置工程名稱。工程路徑:選擇工程文件存儲路徑。SOC:選擇支持的芯片。開發(fā)板:選擇支持的開發(fā)板。產(chǎn)品:選擇開發(fā)板自動(dòng)生成的產(chǎn)品。在新工程配置向?qū)ы摚渲霉こ滔嚓P(guān)信息,工程配置完成后,點(diǎn)擊“確定”,DevEcoDeviceTooI會自動(dòng)啟動(dòng)OpenHarmony源碼的下載。謝謝3.2.1編寫HelloWorld程序通過本節(jié)學(xué)習(xí),您可以:熟悉HelloWorld程序的編寫方法編寫HelloWorld程序在新建工程中,SOC選擇HI3861,開發(fā)板自動(dòng)選擇Hi3861,產(chǎn)品顯示wifiiot_hispark_pegasus,配置好信息后下載源碼。編寫HelloWorld程序1.建立代碼目錄在OpenHarmony/applications/sample/wifi-iot/app路徑下新建一個(gè)目錄,來存放代碼文件。例如,在app下新增my_app,其中Hello_world.c為需要編寫的代碼,BUILD.gn為編譯腳本,具體目錄結(jié)構(gòu)如下:.└──applications└──sample└──wifi-iot└──app└──my_app│──Hello_world.c└──BUILD.gn編寫HelloWorld程序2.編寫代碼新建Hello_World.c文件,在Hello_world.c中新建入口函數(shù)HelloWorld,并實(shí)現(xiàn)程序邏輯。在代碼的最后,使用OpenHarmony啟動(dòng)恢復(fù)模塊接口SYS_RUN()啟動(dòng)程序,SYS_RUN()是定義在ohos_init.h頭文件的。具體代碼如下:
#include<stdio.h>
#include"ohos_init.h"
#include"ohos_types.h"
voidHelloWorld(void)
{
printf("Helloworld!\n");
}
SYS_RUN(HelloWorld);編寫HelloWorld程序3.編寫B(tài)UILD.gn文件編寫B(tài)UILD.gn文件的目的是將程序構(gòu)建成靜態(tài)庫。BUILD.gn文件由目標(biāo)、源文件、頭文件路徑三部分構(gòu)成,需由開發(fā)者完成填寫。新建./applications/sample/wifi-iot/app/my_app下的BUILD.gn文件,并完成如下配置。示例代碼如下:說明:static_library中指定模塊的編譯結(jié)果,為靜態(tài)庫文件libmyapp.a,開發(fā)者根據(jù)實(shí)際情況完成填寫。sources中指定靜態(tài)庫.a所依賴的.c文件及其路徑,若路徑中包含“//”則表示絕對路徑,若不包含“//”則表示相對路徑。include_dirs中指定source所需要依賴的.h文件路徑。
static_library("myapp"){
sources=[
"hello_world.c"
]
include_dirs=[
"http://utils/native/lite/include"
]}編寫HelloWorld程序4.添加新組件修改文件build/lite/components/applications.json,添加組件hello_world_app的配置。
{
"component":"hello_world_app",
"description":"helloworldsamples.",
"optional":"true",
"dirs":[
"applications/sample/wifi-iot/app/my_app"
],
"targets":[
"http://applications/sample/wifi-iot/app/my_app:myapp"
],
"rom":"",
"ram":"",
"output":[],
"adapted_kernel":["liteos_m"],
"features":[],
"deps":{
"components":[],
"third_party":[]
}
},編寫HelloWorld程序5.修改單板配置文件修改文件vendor/hisilicon/hispark_pegasus/config.json,新增Hello_world_app組件的條目,在applications子系統(tǒng)配置中增加代碼。具體代碼如下:
{
"subsystem":"applications",
"components":[
#增加條目#
{"component":"hello_world_app","features":[]},
{"component":"wifi_iot_sample_app","features":[]}
]謝謝3.2.2編譯HelloWorld程序通過本節(jié)學(xué)習(xí),您可以:熟悉HelloWorld程序編譯編譯HelloWorld程序DevEcoDeviceTool支持Hi3861V100開發(fā)板的源碼一鍵編譯功能,提供編譯工具鏈和編譯環(huán)境依賴的檢測及一鍵安裝,簡化復(fù)雜編譯環(huán)境的同時(shí),提升了編譯的效率。1.在菜單欄中點(diǎn)擊工程配置,進(jìn)入Hi3861工程配置界面。編譯HelloWorld程序2.在工具鏈頁面中,DevEcoDeviceTool會自動(dòng)檢測依賴的編譯工具鏈?zhǔn)欠裢陚洹H绻幾g器和燒錄器后面顯示圖標(biāo)×,可單擊“下載未安裝的工具”,自動(dòng)安裝所需工具,或單擊工具后方的下載安裝指定工具。如當(dāng)前識別到的工具類型有缺失,需要補(bǔ)充,可單擊“添加實(shí)用工具”添加。如工具無法通過下載方式安裝,表示該工具未被收錄,需要開發(fā)者自行下載到本地后單擊Import導(dǎo)入。如果“OpenHarmony環(huán)境依賴”后面顯示圖標(biāo)×,請單擊“安裝”,進(jìn)行自動(dòng)下載安裝。編譯HelloWorld程序部分工具安裝需要使用root權(quán)限,請?jiān)诮K端窗口輸入用戶密碼進(jìn)行安裝。安裝完成后,工具和環(huán)境依賴的狀態(tài)顯示為√。編譯HelloWorld程序3.在DevEcoDeviceTool界面的PROJECTTASKS中,點(diǎn)擊對應(yīng)開發(fā)板下的Build,執(zhí)行編譯。編譯HelloWorld程序4.等待編譯完成,在終端窗口輸出“SUCCESS”,編譯完成。編譯完成后,可以在工程的out目錄下,查看編譯生成的文件,用于后續(xù)的Hi3861V100開發(fā)板燒寫。編譯HelloWorld程序說明:編譯時(shí),如果編譯不成功,提示“'Python':Nosuchfileordirectory”,是因?yàn)镻ython路徑不正確導(dǎo)致的。解決方法:(1)打開終端,輸入“whereispython”,查詢Python路徑。(2)檢查輸出結(jié)果是否包含/usr/bin/python3.8或者/usr/bin/python3.9,如果包含,則執(zhí)行如下命令,命令中python版本按實(shí)際情況修改。sudoln-s/usr/bin/python3.8/usr/bin/python如果輸出結(jié)果不包含usr/bin/python3.8或者/usr/bin/python3.9,請執(zhí)行步驟(3)。(3)執(zhí)行命令,重新安裝DevEcoDeviceTool,其中“devicetool-linux-tool-00”根據(jù)實(shí)際版本修改。sudo./devicetool-linux-tool-00.sh謝謝3.2.3燒寫HelloWorld程序通過本節(jié)學(xué)習(xí),您可以:熟悉燒寫HelloWorld程序燒寫HelloWorld程序燒寫程序是將編譯后的程序文件下載到開發(fā)板上。Hi3861V100開發(fā)板的燒寫是在Windows環(huán)境進(jìn)行燒寫的。DevEcoDeviceTool通過Remote遠(yuǎn)程模式,將Ubuntu環(huán)境下編譯生成的程序文件拷貝至Windows目錄下,然后通過Windows的燒寫工具將程序文件燒寫至開發(fā)板中。1.連接設(shè)備連接之前需要安裝USB轉(zhuǎn)串口的驅(qū)動(dòng)程序,安裝CH341SERUSB轉(zhuǎn)串口驅(qū)動(dòng)程序,驅(qū)動(dòng)安裝完成后,重新插拔USB接口即可。使用USB數(shù)據(jù)線將電腦和開發(fā)板連接起來,插開發(fā)板的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版本地合作協(xié)議標(biāo)準(zhǔn)格式版B版
- 2024年股東權(quán)益保護(hù)與承諾協(xié)議
- 2024建房安全合同協(xié)議書建房安全合同
- 2025版酒店加盟品牌運(yùn)營與推廣合同范本3篇
- 2025版文化產(chǎn)業(yè)園開業(yè)慶典合同樣本3篇
- 2024年電子合同法律效力研究
- 2025版居間合同范本(全新版)9篇
- 2024年綜合安全監(jiān)控布局施工協(xié)議條款版B版
- 課題申報(bào)書:大學(xué)生學(xué)術(shù)思維能力培育研究
- 2025版房地產(chǎn)投資貸款合同房地產(chǎn)金融產(chǎn)品范本3篇
- 【9道期末】安徽省宣城市2023-2024學(xué)年九年級上學(xué)期期末道德與法治試題(含解析)
- 2024年醫(yī)藥行業(yè)年終總結(jié).政策篇 易聯(lián)招采2024
- 《工程造價(jià)專業(yè)應(yīng)用型本科畢業(yè)設(shè)計(jì)指導(dǎo)標(biāo)準(zhǔn)》
- 倉庫主管2025年終總結(jié)及2025工作計(jì)劃
- 2024年01月11396藥事管理與法規(guī)(本)期末試題答案
- 《臨床帶教實(shí)施要求》課件
- 2023年內(nèi)蒙古興安盟事業(yè)單位秋專項(xiàng)人才引進(jìn)筆試真題
- 2024年保安員(初級)試題及答案
- 偵查學(xué)期末考試試題及答案
- 蔬菜采購框架合同模板
- 中國類風(fēng)濕關(guān)節(jié)炎診療指南(2024版)解讀
評論
0/150
提交評論