OpenHarmony開發-系統燒錄

本文詳細介紹了燒錄OpenHarmony系統到開發板的操作流程。從基礎的硬件準備和軟件環境設置入手,詳細說明了如何配置開發環境、構建系統鏡像等過程,詳細描述了燒錄過程中的關鍵步驟,以及如何使用專用工具將OpenHarmony系統鏡像傳輸到開發板。同時,文章也列出了燒錄過程中可能遇到的常見問題及其解決方案。
一、OpenHarmony介紹
Open Harmony 是由開放原子開源基金會孵化及運營的開源項目,由開放原子開源基金會 Open Harmony 項目群工作委員會負責運作。由全球開發者共建的開源分布式操作系統,具備面向全場景、分布式等特點,是一款“全(全領域)? 新 (新一代)? 開(開源)? 放(開放)”的操作系統。
OpenHarmony的設計理念體現在其面向全場景、分布式的架構上,與傳統操作系統相比,它在多個方面展現出顯著優勢:
特性 | OpenHarmony | 傳統操作系統 |
適應性 | 面向全場景,能夠適用于從小型物聯網設備到大型服務器的廣泛設備。 | 通常專注于特定領域,如個人電腦、手機或服務器。 |
架構 | 分布式設計,可實現設備間的無縫協作和資源共享。 | 主要基于單一設備,設備間互操作性有限。 |
開發模式 | 開源社區驅動,全球開發者共同參與,快速迭代。 | 可能是開源也可能是封閉源,開發和迭代速度不一。 |
系統更新 | 支持模塊化更新,可以針對系統的特定部分進行更新,而不需要重啟整個系統。 | 更新往往需要整個系統重啟,影響設備使用。 |
安全性 | 設計時考慮了分布式環境下的安全需求,支持多層次安全策略。 | 安全性依賴于單個系統的設計,可能不適用于分布式環境。 |
資源利用率 | 高效的資源管理,能在資源受限的設備上運行,優化了低功耗和性能。 | 可能需要較多資源,不一定適合資源受限的環境。 |
用戶體驗 | 通過分布式能力,實現跨設備的流暢體驗和服務共享,為用戶提供更連貫的操作體驗。 | 用戶體驗通常局限于單一設備,跨設備使用可能不便。 |
OpenHarmony的這些優勢,使其成為一個非常有潛力的操作系統,能夠滿足未來技術發展的需求,特別是在物聯網和跨設備協同工作方面。它不僅提供了技術上的創新,還通過開放源代碼的方式,鼓勵全球開發者共同參與,推動了生態系統的快速發展。
二、HCPAD-100開發板介紹
本文使用的開發板為 RK3568,是一款人工智能開發板,該開發板適配 Open Harmony 標準系統,適用于智慧顯示、視頻類、工業自動化等終端產品和邊緣計算網關類產品。
三、準備工作
1.硬件準備
- RK3568開發板
- 雙USB口數據線
- 電源適配器等。
2.軟件準備
- 獲取OpenHarmony的源代碼。
- 準備RK3568的燒錄工具,例如RKDevTool。
- 安裝并配置開發環境,比如確保有適合的編譯工具鏈。
四、燒錄步驟
1.下載驅動和燒錄工具
訪問:Firefly | 讓科技更簡單,讓生活更智能 (t-firefly.com)
下載RK驅動助手和AndroidTool燒錄工具。

下載完成后進行安裝。
安裝RK驅動助手
雙擊安裝程序,選擇驅動安裝,安裝完成后電腦連接開發板時才可以識別。

安裝AndroidTool燒錄工具
選擇安裝路徑安裝,安裝完成后打開如下,在沒有連接設備時顯示 No Devices Found。

識別到連接設備時顯示 Found One LOADER Device。

2.下載HDC命令工具
HDC (OpenHarmony Device Connector) 是為開發人員提供的用于設備連接調試的命令行工具,pc端開發機使用命令行工具hdc_std進行調試,該工具支持部署在Windows/Linux/Mac等系統上與OpenHarmony設備(或模擬器)進行連接調試通信。
獲取HDC工具
官方或者社區鏈接下載均可,壓縮包里包含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 | 設備調試連接器,提供了連接設備的能力,并提供了對外的命令行工具。
下載鏈接③:訪問:每日構建 | OpenHarmony CI ,在CICD的每日構建中找到ohos_sdk,選擇最新版本下載即可。

下載完成后壓縮包如下:

解壓后進入目錄ohos-sdk\windows,繼續解壓toolchains-windows開頭的壓縮包。
在解壓后的toolchains-windows開頭的文件夾\toolchains目錄下,找到hdc。

當前目錄命令行里可以直接調用hdc的命令。
比如,我們查看版本:
hdv -v
解壓并配置環境變量
為了使用hdc方便,我們可以配置環境變量,把hdc的路徑配置到path里,這樣以后我們訪問hdc就不需要切換路徑了。

我們在使用查看版本的命令。

下面是hdc的一些常用命令:
命令 | 描述 |
| 列出當前連接的所有目標設備。 |
hdc shell | 啟動目標設備的shell終端。 |
hdc file send <local> <remote> | 將本地文件 <local> 傳輸到目標設備的 <remote> 位置。 |
hdc file recv <remote> <local> | 將目標設備的 <remote> 文件傳輸到本地 <local> 位置。 |
hdc install <package-path> | 在目標設備上安裝應用程序包。 |
hdc uninstall <package-name> | 從目標設備卸載應用程序。 |
hdc start <package-name> | 啟動目標設備上的應用程序。 |
hdc stop <package-name> | 停止目標設備上的應用程序。 |
hdc debug <package-name> | 啟動目標設備上的應用程序并連接調試器。 |
hdc getprop | 獲取目標設備的系統屬性。 |
hdc setprop <key> <value> | 設置目標設備的系統屬性。 |
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> | 將本地文件上傳到目標設備指定目錄。 |
使用這些命令時,需要替換為具體的參數值。例如 <local> 需要替換為本地文件路徑,<remote> 需要替換為目標設備上的文件路徑,<package-path> 需要替換為應用包的路徑,而 <package-name> 則是應用的名稱或包名。
3.連接電腦和開發板
在開發板斷電情況下按住燒錄鍵,通過雙USB數據線連接電腦和開發板,再給開發板通電。

如果操作正確,主板將進入USB燒錄模式,同時,RK燒錄工具識別到連接設備,顯示 Found One LOADER Device,后面我們使用RK燒錄工具進行系統燒錄即可。

4.下載OpenHarmony鏡像
訪問:每日構建 | OpenHarmony CI ,在 CICD 的 每日構建 中找到 dayu200,選擇最新版本下載即可。

5.燒錄OpenHarmony系統
在鏡像下載完成后,我們需要導入鏡像配置到燒錄工具中。右鍵Loader導入配置,選擇解壓的鏡像包中的config.cfg文件。

導入新配置后,misc、sys-prod、chip-prod三個分區不存在鏡像,燒寫時不能勾選。

點擊右側空白處可以修改固件位置,我們把位置修改為下載的dayu200里各個固件的路徑。
點擊執行,出現下載完成,即表示燒錄成功。

如果燒錄失敗,在工具界面右側會用紅色的字體顯示燒錄錯誤信息,更多出錯信息查看 Log 目錄下的文件。
6.重啟設備
燒錄完成后,斷開連接并重啟設備,完成系統啟動。


五、常見問題及解決辦法
1.Loader和Maskrom模式
在我們燒錄 Open Harmony 系統到 RK3568 開發板中時,可能會遇到兩種燒錄模式(Loader模式和Maskrom模式)。具體是哪種模式,主要取決于是否已經燒錄過固件,如果固件已被燒錄,系統將進入Loader固件燒寫模式。如果是新開發板,默認進入Maskrom模式。本文我使用的開發板是已經燒錄過的,所以燒錄工具直接顯示的是Loader模式。
下面是兩種模式的詳細介紹:
特征 | Loader模式 | Maskrom模式 |
定義 | 一種中間啟動模式,用于加載和執行更高級別的固件,如U-Boot或其他引導程序。 | 一種硬件級別的故障恢復模式,當設備無法通過正常方式啟動時自動進入。 |
啟動條件 | 設備可以正常訪問存儲介質中的引導加載程序。 | 設備無法從閃存(如NAND、eMMC)啟動,可能由于引導部分損壞導致。 |
功能 | 主要用于固件升級、調試和開發。可以通過USB或其他接口與PC通信,進行數據傳輸和命令執行。 | 用于緊急恢復固件,只能通過特定的硬件接口(通常是USB)與PC通信,進行最低級別的數據傳輸。 |
使用場景 | 開發者或維修技師需要對設備進行更新、調試或維修時使用。 | 當設備無法正常啟動,需要進行底層固件恢復時使用。 |
如何進入 | 通常通過特定按鍵組合、命令或通過在啟動過程中檢測到特定條件自動進入。 | 當設備檢測不到有效的啟動介質或啟動文件損壞時自動進入;也可以通過硬件操作(如短接特定引腳)強制進入。 |
優勢 | 提供了一個靈活的接口,用于系統升級和調試,不需要設備處于最底層的故障狀態。 | 在設備軟件嚴重損壞,無法通過Loader模式恢復時,提供了一個救命稻草,允許用戶重新燒錄啟動程序。 |
Loader模式和Maskrom模式是兩種常見的設備啟動模式,尤其在與RK系列芯片(如RK3568)進行系統燒錄時。這兩種模式在功能、啟動條件和使用場景上有所不同。
在使用燒錄工具時,兩種模式都可以進行燒寫。
2.燒錄完成后無法開機
- 確保燒錄的固件版本與設備兼容。
- 重新檢查燒錄過程中的分區配置,確保沒有錯誤的分區操作。
- 如果可能,嘗試重新燒錄較早版本的固件,以判斷是否為固件兼容性問題。
- 檢查設備的硬件狀態,如內存和存儲是否存在問題。
3.燒錄工具未發現設備
要嚴格按照下述操作,才可以進入開發板的燒錄模式。
在開發板斷電情況下按住燒錄鍵,通過雙USB數據線連接電腦和開發板,再給開發板通電。

如果操作正確,主板將進入USB燒錄模式,同時,RK燒錄工具識別到連接設備,顯示 Found One LOADER Device。
六、OpenHarmony燒錄總結
燒錄OpenHarmony系統到開發板上是一個充滿挑戰但又極具價值的過程。作為一個開源分布式操作系統,OpenHarmony代表了當前軟件開發的最新趨勢。無論是智能家居、可穿戴設備、車載系統還是工業自動化,OpenHarmony均提供了廣泛的應用潛力。通過參與到OpenHarmony的開發和燒錄中,開發者不僅能探索技術前沿,還能為構建全場景智能生活貢獻力量,同時也是對開源社區的重要貢獻。
































