OpenHarmony開發(fā)-系統(tǒng)燒錄
本文詳細介紹了燒錄OpenHarmony系統(tǒng)到開發(fā)板的操作流程。從基礎的硬件準備和軟件環(huán)境設置入手,詳細說明了如何配置開發(fā)環(huán)境、構(gòu)建系統(tǒng)鏡像等過程,詳細描述了燒錄過程中的關(guān)鍵步驟,以及如何使用專用工具將OpenHarmony系統(tǒng)鏡像傳輸?shù)介_發(fā)板。同時,文章也列出了燒錄過程中可能遇到的常見問題及其解決方案。
一、OpenHarmony介紹
Open Harmony 是由開放原子開源基金會孵化及運營的開源項目,由開放原子開源基金會 Open Harmony 項目群工作委員會負責運作。由全球開發(fā)者共建的開源分布式操作系統(tǒng),具備面向全場景、分布式等特點,是一款“全(全領(lǐng)域)? 新 (新一代)? 開(開源)? 放(開放)”的操作系統(tǒng)。
OpenHarmony的設計理念體現(xiàn)在其面向全場景、分布式的架構(gòu)上,與傳統(tǒng)操作系統(tǒng)相比,它在多個方面展現(xiàn)出顯著優(yōu)勢:
特性 | OpenHarmony | 傳統(tǒng)操作系統(tǒng) |
適應性 | 面向全場景,能夠適用于從小型物聯(lián)網(wǎng)設備到大型服務器的廣泛設備。 | 通常專注于特定領(lǐng)域,如個人電腦、手機或服務器。 |
架構(gòu) | 分布式設計,可實現(xiàn)設備間的無縫協(xié)作和資源共享。 | 主要基于單一設備,設備間互操作性有限。 |
開發(fā)模式 | 開源社區(qū)驅(qū)動,全球開發(fā)者共同參與,快速迭代。 | 可能是開源也可能是封閉源,開發(fā)和迭代速度不一。 |
系統(tǒng)更新 | 支持模塊化更新,可以針對系統(tǒng)的特定部分進行更新,而不需要重啟整個系統(tǒng)。 | 更新往往需要整個系統(tǒng)重啟,影響設備使用。 |
安全性 | 設計時考慮了分布式環(huán)境下的安全需求,支持多層次安全策略。 | 安全性依賴于單個系統(tǒng)的設計,可能不適用于分布式環(huán)境。 |
資源利用率 | 高效的資源管理,能在資源受限的設備上運行,優(yōu)化了低功耗和性能。 | 可能需要較多資源,不一定適合資源受限的環(huán)境。 |
用戶體驗 | 通過分布式能力,實現(xiàn)跨設備的流暢體驗和服務共享,為用戶提供更連貫的操作體驗。 | 用戶體驗通常局限于單一設備,跨設備使用可能不便。 |
OpenHarmony的這些優(yōu)勢,使其成為一個非常有潛力的操作系統(tǒng),能夠滿足未來技術(shù)發(fā)展的需求,特別是在物聯(lián)網(wǎng)和跨設備協(xié)同工作方面。它不僅提供了技術(shù)上的創(chuàng)新,還通過開放源代碼的方式,鼓勵全球開發(fā)者共同參與,推動了生態(tài)系統(tǒng)的快速發(fā)展。
二、HCPAD-100開發(fā)板介紹
本文使用的開發(fā)板為 RK3568,是一款人工智能開發(fā)板,該開發(fā)板適配 Open Harmony 標準系統(tǒng),適用于智慧顯示、視頻類、工業(yè)自動化等終端產(chǎn)品和邊緣計算網(wǎng)關(guān)類產(chǎn)品。
三、準備工作
1.硬件準備
- RK3568開發(fā)板
- 雙USB口數(shù)據(jù)線
- 電源適配器等。
2.軟件準備
- 獲取OpenHarmony的源代碼。
- 準備RK3568的燒錄工具,例如RKDevTool。
- 安裝并配置開發(fā)環(huán)境,比如確保有適合的編譯工具鏈。
四、燒錄步驟
1.下載驅(qū)動和燒錄工具
訪問:Firefly | 讓科技更簡單,讓生活更智能 (t-firefly.com)
下載RK驅(qū)動助手和AndroidTool燒錄工具。
下載完成后進行安裝。
安裝RK驅(qū)動助手
雙擊安裝程序,選擇驅(qū)動安裝,安裝完成后電腦連接開發(fā)板時才可以識別。
安裝AndroidTool燒錄工具
選擇安裝路徑安裝,安裝完成后打開如下,在沒有連接設備時顯示 No Devices Found。
識別到連接設備時顯示 Found One LOADER Device。
2.下載HDC命令工具
HDC (OpenHarmony Device Connector) 是為開發(fā)人員提供的用于設備連接調(diào)試的命令行工具,pc端開發(fā)機使用命令行工具hdc_std進行調(diào)試,該工具支持部署在Windows/Linux/Mac等系統(tǒng)上與OpenHarmony設備(或模擬器)進行連接調(diào)試通信。
獲取HDC工具
官方或者社區(qū)鏈接下載均可,壓縮包里包含windows和linux兩個版本。
下載鏈接①:https://repo.huaweicloud.com/harmonyos/os/3.2-Release/ohos-sdk-windows_linux-public.tar.gz
下載鏈接②:developtools_hdc_standard: Device debug connector that provides the device connection capability and a command line tool | 設備調(diào)試連接器,提供了連接設備的能力,并提供了對外的命令行工具。
下載鏈接③:訪問:每日構(gòu)建 | OpenHarmony CI ,在CICD的每日構(gòu)建中找到ohos_sdk,選擇最新版本下載即可。
下載完成后壓縮包如下:
解壓后進入目錄ohos-sdk\windows,繼續(xù)解壓toolchains-windows開頭的壓縮包。
在解壓后的toolchains-windows開頭的文件夾\toolchains目錄下,找到hdc。
當前目錄命令行里可以直接調(diào)用hdc的命令。
比如,我們查看版本:
hdv -v
解壓并配置環(huán)境變量
為了使用hdc方便,我們可以配置環(huán)境變量,把hdc的路徑配置到path里,這樣以后我們訪問hdc就不需要切換路徑了。
我們在使用查看版本的命令。
下面是hdc的一些常用命令:
命令 | 描述 |
| 列出當前連接的所有目標設備。 |
hdc shell | 啟動目標設備的shell終端。 |
hdc file send <local> <remote> | 將本地文件 <local> 傳輸?shù)侥繕嗽O備的 <remote> 位置。 |
hdc file recv <remote> <local> | 將目標設備的 <remote> 文件傳輸?shù)奖镜?<local> 位置。 |
hdc install <package-path> | 在目標設備上安裝應用程序包。 |
hdc uninstall <package-name> | 從目標設備卸載應用程序。 |
hdc start <package-name> | 啟動目標設備上的應用程序。 |
hdc stop <package-name> | 停止目標設備上的應用程序。 |
hdc debug <package-name> | 啟動目標設備上的應用程序并連接調(diào)試器。 |
hdc getprop | 獲取目標設備的系統(tǒng)屬性。 |
hdc setprop <key> <value> | 設置目標設備的系統(tǒng)屬性。 |
hdc reboot | 重啟目標設備。 |
hdc connect <device-ip> | 通過IP地址連接到遠程設備。 |
hdc disconnect <device-ip> | 斷開與遠程設備的連接。 |
hdc shell ohos | 進入OpenHarmony設備的OHOS交互命令行。 |
hdc file pull <device-file> <local-dir> | 從目標設備下載文件到本地指定目錄。 |
hdc file push <local-file> <device-dir> | 將本地文件上傳到目標設備指定目錄。 |
使用這些命令時,需要替換為具體的參數(shù)值。例如 <local> 需要替換為本地文件路徑,<remote> 需要替換為目標設備上的文件路徑,<package-path> 需要替換為應用包的路徑,而 <package-name> 則是應用的名稱或包名。
3.連接電腦和開發(fā)板
在開發(fā)板斷電情況下按住燒錄鍵,通過雙USB數(shù)據(jù)線連接電腦和開發(fā)板,再給開發(fā)板通電。
如果操作正確,主板將進入USB燒錄模式,同時,RK燒錄工具識別到連接設備,顯示 Found One LOADER Device,后面我們使用RK燒錄工具進行系統(tǒng)燒錄即可。
4.下載OpenHarmony鏡像
訪問:每日構(gòu)建 | OpenHarmony CI ,在 CICD 的 每日構(gòu)建 中找到 dayu200,選擇最新版本下載即可。
5.燒錄OpenHarmony系統(tǒng)
在鏡像下載完成后,我們需要導入鏡像配置到燒錄工具中。右鍵Loader導入配置,選擇解壓的鏡像包中的config.cfg文件。
導入新配置后,misc、sys-prod、chip-prod三個分區(qū)不存在鏡像,燒寫時不能勾選。
點擊右側(cè)空白處可以修改固件位置,我們把位置修改為下載的dayu200里各個固件的路徑。
點擊執(zhí)行,出現(xiàn)下載完成,即表示燒錄成功。
如果燒錄失敗,在工具界面右側(cè)會用紅色的字體顯示燒錄錯誤信息,更多出錯信息查看 Log 目錄下的文件。
6.重啟設備
燒錄完成后,斷開連接并重啟設備,完成系統(tǒng)啟動。
五、常見問題及解決辦法
1.Loader和Maskrom模式
在我們燒錄 Open Harmony 系統(tǒng)到 RK3568 開發(fā)板中時,可能會遇到兩種燒錄模式(Loader模式和Maskrom模式)。具體是哪種模式,主要取決于是否已經(jīng)燒錄過固件,如果固件已被燒錄,系統(tǒng)將進入Loader固件燒寫模式。如果是新開發(fā)板,默認進入Maskrom模式。本文我使用的開發(fā)板是已經(jīng)燒錄過的,所以燒錄工具直接顯示的是Loader模式。
下面是兩種模式的詳細介紹:
特征 | Loader模式 | Maskrom模式 |
定義 | 一種中間啟動模式,用于加載和執(zhí)行更高級別的固件,如U-Boot或其他引導程序。 | 一種硬件級別的故障恢復模式,當設備無法通過正常方式啟動時自動進入。 |
啟動條件 | 設備可以正常訪問存儲介質(zhì)中的引導加載程序。 | 設備無法從閃存(如NAND、eMMC)啟動,可能由于引導部分損壞導致。 |
功能 | 主要用于固件升級、調(diào)試和開發(fā)。可以通過USB或其他接口與PC通信,進行數(shù)據(jù)傳輸和命令執(zhí)行。 | 用于緊急恢復固件,只能通過特定的硬件接口(通常是USB)與PC通信,進行最低級別的數(shù)據(jù)傳輸。 |
使用場景 | 開發(fā)者或維修技師需要對設備進行更新、調(diào)試或維修時使用。 | 當設備無法正常啟動,需要進行底層固件恢復時使用。 |
如何進入 | 通常通過特定按鍵組合、命令或通過在啟動過程中檢測到特定條件自動進入。 | 當設備檢測不到有效的啟動介質(zhì)或啟動文件損壞時自動進入;也可以通過硬件操作(如短接特定引腳)強制進入。 |
優(yōu)勢 | 提供了一個靈活的接口,用于系統(tǒng)升級和調(diào)試,不需要設備處于最底層的故障狀態(tài)。 | 在設備軟件嚴重損壞,無法通過Loader模式恢復時,提供了一個救命稻草,允許用戶重新燒錄啟動程序。 |
Loader模式和Maskrom模式是兩種常見的設備啟動模式,尤其在與RK系列芯片(如RK3568)進行系統(tǒng)燒錄時。這兩種模式在功能、啟動條件和使用場景上有所不同。
在使用燒錄工具時,兩種模式都可以進行燒寫。
2.燒錄完成后無法開機
- 確保燒錄的固件版本與設備兼容。
- 重新檢查燒錄過程中的分區(qū)配置,確保沒有錯誤的分區(qū)操作。
- 如果可能,嘗試重新燒錄較早版本的固件,以判斷是否為固件兼容性問題。
- 檢查設備的硬件狀態(tài),如內(nèi)存和存儲是否存在問題。
3.燒錄工具未發(fā)現(xiàn)設備
要嚴格按照下述操作,才可以進入開發(fā)板的燒錄模式。
在開發(fā)板斷電情況下按住燒錄鍵,通過雙USB數(shù)據(jù)線連接電腦和開發(fā)板,再給開發(fā)板通電。
如果操作正確,主板將進入USB燒錄模式,同時,RK燒錄工具識別到連接設備,顯示 Found One LOADER Device。
六、OpenHarmony燒錄總結(jié)
燒錄OpenHarmony系統(tǒng)到開發(fā)板上是一個充滿挑戰(zhàn)但又極具價值的過程。作為一個開源分布式操作系統(tǒng),OpenHarmony代表了當前軟件開發(fā)的最新趨勢。無論是智能家居、可穿戴設備、車載系統(tǒng)還是工業(yè)自動化,OpenHarmony均提供了廣泛的應用潛力。通過參與到OpenHarmony的開發(fā)和燒錄中,開發(fā)者不僅能探索技術(shù)前沿,還能為構(gòu)建全場景智能生活貢獻力量,同時也是對開源社區(qū)的重要貢獻。