《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 第3章 鴻蒙系統(tǒng)基本操作_第1頁
《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 第3章 鴻蒙系統(tǒng)基本操作_第2頁
《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 第3章 鴻蒙系統(tǒng)基本操作_第3頁
《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 第3章 鴻蒙系統(tǒng)基本操作_第4頁
《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 第3章 鴻蒙系統(tǒng)基本操作_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

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兩個文件夾,其中sample文件夾下是開發(fā)板案例代碼及教程,standard文件夾下是鴻蒙標(biāo)準(zhǔn)系統(tǒng)的部分應(yīng)用,為開發(fā)者提供了構(gòu)建標(biāo)準(zhǔn)系統(tǒng)應(yīng)用的具體實例,這些應(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ù)項目需要進(jìn)行使用,可以進(jìn)行剪切drivers該目錄下是驅(qū)動子系統(tǒng)對應(yīng)的HDF源碼,包含適配代碼、驅(qū)動框架核心代碼、外設(shè)驅(qū)動代碼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層實現(xiàn)、ndk庫的配置目錄,系統(tǒng)相關(guān)的預(yù)定義值和安全策略配置等vendor該目錄下是不同廠商的開發(fā)板芯片驅(qū)動軟件,以及部分仿真工程樣例謝謝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)選項。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)下載組件選擇其中一個點(diǎn)開,可以看到發(fā)行版的詳情介紹。通過右上角的“直接下載”可以直接下載到本地;點(diǎn)擊“設(shè)備組件裁剪”可以打開組件詳情頁,進(jìn)行定制組件的添加,填寫項目信息進(jìn)行下載。1.DevEcoMarketplace網(wǎng)站下載源碼鴻蒙系統(tǒng)源碼下載(3)安裝組件下載的組件是壓縮包形式,需要先解壓縮。在解壓后的文件目錄地址欄中輸入CMD,打開命令行窗口。執(zhí)行hpminstall命令,系統(tǒng)會自動下載并安裝組件。窗口中顯示“Installsuccessful”表示組件下載及安裝成功。下載的組件將保存在工程目錄下的ohos_bundles文件夾中。1.DevEcoMarketplace網(wǎng)站下載源碼鴻蒙系統(tǒng)源碼下載2.鏡像站點(diǎn)下載源碼通過鏡像站點(diǎn)下載的是鴻蒙系統(tǒng)整個源碼,需要自行裁剪,才能進(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)建工程自動獲取源碼需要在Windows環(huán)境通過RemoteSSH遠(yuǎn)程連接上Ubuntu,才可以創(chuàng)建OpenHarmony新工程。打開DevEcoDeviceTooI,進(jìn)入主頁,點(diǎn)擊“新建工程”。鴻蒙系統(tǒng)源碼下載3.創(chuàng)建工程自動獲取源碼配置說明:OpenHarmony源碼:選擇需要下載的OpenHarmony源碼。工程名:設(shè)置工程名稱。工程路徑:選擇工程文件存儲路徑。SOC:選擇支持的芯片。開發(fā)板:選擇支持的開發(fā)板。產(chǎn)品:選擇開發(fā)板自動生成的產(chǎn)品。在新工程配置向?qū)ы摚渲霉こ滔嚓P(guān)信息,工程配置完成后,點(diǎn)擊“確定”,DevEcoDeviceTooI會自動啟動OpenHarmony源碼的下載。謝謝3.2.1編寫HelloWorld程序通過本節(jié)學(xué)習(xí),您可以:熟悉HelloWorld程序的編寫方法編寫HelloWorld程序在新建工程中,SOC選擇HI3861,開發(fā)板自動選擇Hi3861,產(chǎn)品顯示wifiiot_hispark_pegasus,配置好信息后下載源碼。編寫HelloWorld程序1.建立代碼目錄在OpenHarmony/applications/sample/wifi-iot/app路徑下新建一個目錄,來存放代碼文件。例如,在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,并實現(xiàn)程序邏輯。在代碼的最后,使用OpenHarmony啟動恢復(fù)模塊接口SYS_RUN()啟動程序,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ù)實際情況完成填寫。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)境的同時,提升了編譯的效率。1.在菜單欄中點(diǎn)擊工程配置,進(jìn)入Hi3861工程配置界面。編譯HelloWorld程序2.在工具鏈頁面中,DevEcoDeviceTool會自動檢測依賴的編譯工具鏈?zhǔn)欠裢陚洹H绻幾g器和燒錄器后面顯示圖標(biāo)×,可單擊“下載未安裝的工具”,自動安裝所需工具,或單擊工具后方的下載安裝指定工具。如當(dāng)前識別到的工具類型有缺失,需要補(bǔ)充,可單擊“添加實用工具”添加。如工具無法通過下載方式安裝,表示該工具未被收錄,需要開發(fā)者自行下載到本地后單擊Import導(dǎo)入。如果“OpenHarmony環(huán)境依賴”后面顯示圖標(biāo)×,請單擊“安裝”,進(jìn)行自動下載安裝。編譯HelloWorld程序部分工具安裝需要使用root權(quán)限,請在終端窗口輸入用戶密碼進(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程序說明:編譯時,如果編譯不成功,提示“'Python':Nosuchfileordirectory”,是因為Python路徑不正確導(dǎo)致的。解決方法:(1)打開終端,輸入“whereispython”,查詢Python路徑。(2)檢查輸出結(jié)果是否包含/usr/bin/python3.8或者/usr/bin/python3.9,如果包含,則執(zhí)行如下命令,命令中python版本按實際情況修改。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ù)實際版本修改。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ū)動程序,安裝CH341SERUSB轉(zhuǎn)串口驅(qū)動程序,驅(qū)動安裝完成后,重新插拔USB接口即可。使用USB數(shù)據(jù)線將電腦和開發(fā)板連接起來,插開發(fā)板的Type-C接口。燒寫HelloWorld程序2.在DevEcoDeviceTool中,選擇REMOTEDEVELOPMENT>LocalPC,查看遠(yuǎn)程計算機(jī)(Ubuntu開發(fā)環(huán)境)與本地計算機(jī)(Windows開發(fā)環(huán)境)的連接狀態(tài)。如果LocalPC右邊連接按鈕為紅色圖標(biāo),則遠(yuǎn)程計算機(jī)與本地計算機(jī)為已連接狀態(tài),不需要執(zhí)行其他操作。如果LocalPC右邊連接按鈕為綠色圖標(biāo),則點(diǎn)擊綠色按鈕進(jìn)行連接。連接時DevEcoDeviceTool會重啟服務(wù),因此請不要在下載源碼或源碼編譯過程中進(jìn)行連接,否則會中斷任務(wù)。燒寫HelloWorld程序3.在菜單欄中點(diǎn)擊工程配置按鈕,進(jìn)入工程配置界面。燒寫HelloWorld程序4.在工具鏈頁面,檢查燒錄器是否已安裝,如果未安裝可以通過下載按鈕在線安裝。燒寫HelloWorld程序5.在“wifiiot_hispark_pegasus”頁面,設(shè)置燒寫選項,包括upload_port、upload_protocol和upload_partitions。配置完成后工程將自動保存。upload_port:選擇已查詢的串口號。upload_protocol:選擇燒寫協(xié)議,選擇“hiburn-serial”。upload_partitions:選擇待燒寫的文件名稱。如果需要修改待燒寫文件地址,可點(diǎn)擊每個待燒寫文件后的按鈕進(jìn)行修改。燒寫HelloWorld程序6.在“PROJECTTASKS”中,點(diǎn)擊Upload按鈕,啟動燒寫。7.啟動燒寫后,顯示如下提示信息時,需要在15秒內(nèi),按下開發(fā)板上的RST按鈕重啟開發(fā)板。燒寫HelloWorld程序重新上電后,界面提示如下信息時,表示燒寫成功。謝謝3.2.4運(yùn)行HelloWorld程序通過本節(jié)學(xué)習(xí),您可以:熟悉代碼運(yùn)行及驗證運(yùn)行程序完成程序的編譯和燒寫之后,需要運(yùn)行程序,驗證源碼的完整性。具體操作:在DevEcoDevicetool工具的左下方,點(diǎn)擊“Monitor”按鈕。復(fù)位Hi3861開發(fā)板,終端界面顯示“readytoOSstart”,表示程序運(yùn)行成功。謝謝3.3.1鴻蒙系統(tǒng)源碼編譯通過本節(jié)學(xué)習(xí),您可以:熟悉鴻蒙系統(tǒng)源碼在Docker環(huán)境下的編譯操作鴻蒙系統(tǒng)源碼編譯從鏡像站點(diǎn)下載好的源碼,需要先解壓操作,然后在Docker環(huán)境下進(jìn)行編譯,編譯成功才可以進(jìn)行正式的代碼開發(fā)工作。1.通過Samba服務(wù)將下載好的鴻蒙源碼從window環(huán)境移動到Ubuntu中。解壓鴻蒙源碼壓縮包,在此目錄下打開終端,輸入命令:命令:sudotar-zxvfcode-v3.0-LTS.tar.gz解壓完成后修改文件夾的權(quán)限,輸入命令:命令:sudochmod777-Rcode-v3.0-LTS鴻蒙系統(tǒng)源碼編譯2.構(gòu)建Docker鏡像。此操作需要在openHarmony/code-v3.0-LTS/OpenHarmony目錄下進(jìn)行。右鍵打開終端,輸入命令:sudodockerrun-it--namecode-v3.0-LTS-v$(pwd):/home/openharmony/openharmony-docker/openharmony-docker:1.0.0和Docker環(huán)境有關(guān)的命令:進(jìn)入Docker鏡像命令:sudodockerstart-icode-v3.0-LTS退出Docker鏡像命令:exit查看Docker及狀態(tài)命令:sudodockerps-a鴻蒙系統(tǒng)源碼編譯3.修改Docker環(huán)境配置。在Docker環(huán)境下,卸載舊環(huán)境配置。輸入命令:python3-mpipuninstallohos-build安裝新環(huán)境配置,輸入命令:pip3installbuild/lite鴻蒙系統(tǒng)源碼編譯4.環(huán)境配置好之后,在Docker環(huán)境下生成產(chǎn)品的配置文件。進(jìn)入Docker環(huán)境后輸入命令。命令:hbset按鍵盤方向鍵上下移動,選擇工程文件wifiiot_hispark_pegasus,按回車鍵確定。鴻蒙系統(tǒng)源碼編譯4.環(huán)境配置好之后,在Docker環(huán)境下生成產(chǎn)品的配置文件。選中工程文件之后對工程進(jìn)行編譯,編譯成功會提示“buildsuccess”。輕量級系統(tǒng)

liteOS-M

編譯命令:hbbuild-f小型系統(tǒng)

liteOS-A

編譯命令:hbbuild-tnotest--tee-f謝謝3.3.2輕量級系統(tǒng)燒寫及運(yùn)行通過本節(jié)學(xué)習(xí),您可以:了解輕量級系統(tǒng)LiteOS-M的燒寫和查看運(yùn)行方法輕量級系統(tǒng)燒寫及運(yùn)行在widows系統(tǒng)中打開HiBurn,選擇串口,設(shè)置波特率,波特率設(shè)置為921600,點(diǎn)擊確認(rèn)。輕量級系統(tǒng)燒寫及運(yùn)行點(diǎn)擊selectfile選擇要燒寫的bin文件,bin文件的路徑為源碼的根目錄下的out\hispark_pegasus\wifiiot_hispark_pegasus選擇Hi3861_wifiiot_app_allinone.bin文件并打開。輕量級系統(tǒng)燒寫及運(yùn)行選好燒寫文件后,勾上Autoburn,再點(diǎn)擊Connect打開串口,按下liteOS-M模塊上的復(fù)位按鍵開始燒寫,等待bin文件燒寫完成,把串口關(guān)閉,再按下復(fù)位按鍵程序即可運(yùn)行。輕量級系統(tǒng)燒寫及運(yùn)行在Windo

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論