OpenHarmony-RK3568開發板操作梳理

哈哈哈hh發表於2022-04-27

映象下載、域名解析、時間同步請點選  阿里雲開源映象站

寫在前面可參考

PS:使用wsl2作為Windows下Ubuntu環境時提升程式碼編譯等效率的幾個點:

1.安裝完wsl後,檢查wsl的版本,確保是版本2(cmd執行wsl -l -v檢視,如果不是,可透過wsl.exe -set-version Ubuntu-20.04 2轉換成版本2)

2.wsl2安裝完成後,切換軟體源為國內軟體源,可參考(親測好用)  Ubuntu20.04換阿里源(解決安裝build-essential失敗問題)_AnChenliang

3.預設是安裝在系統盤的,可安裝完後遷移到非系統盤

4.OpenHarmony程式碼相關操作建議在wsl2個人使用者家目錄下操作

一、板子組裝

板子組裝按照方便,使用安全組裝即可,注意螢幕和攝像頭的排線插的順序,插反可能會導致螢幕不亮、攝像頭不能用等情況。

file

二、WSL2安裝

InsStep:

1.開啟設定->安全和更新->開發者選項,選擇為“開發人員模式”;

2.Win + R執行control appwiz.cpl指令,在啟用或關閉Windows功能中勾選適用於Linux的Windows子系統和虛擬機器平臺兩項啟用,重啟(注:沒有虛擬機器平臺的,請升級Windows系統,Win10 版本號為 2004(內部版本19041或更高),);

3.以管理員身份開啟PowerShell並執行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 開啟Windows子系統功能;

4.開啟Microsoft Store搜尋Ubuntu,安裝Ubuntu20.04:

file

5.安裝完直接開啟,設定使用者名稱和密碼以及root使用者密碼:

file

6.將Ubuntu Shell環境修改為bash

執行sudo dpkg-reconfigure dash,選擇No,將Ubuntu shell由dash修改為bash

file

如圖,執行ls -l /bin/sh檢視:

file

7.python3環境

Ubuntu20已自帶python3.8.5,執行sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150切換python3:

file

安裝pip3

$ sudo apt-get -y update
$ sudo apt-get install python3-pip

8.安裝完成,使用者賬號設定好之後,開啟命令列視窗執行wsl -l -v檢視下wsl的版本(注:cmd,wsl找不到的請更新windows版本),確保是wsl2,如果是版本1,可執行wsl.exe --set-version Ubuntu-20.04 2命令升級為版本2,執行後等待轉換完成即可!!注意一定要是WSL2,如果是版本1,編譯速度會慢幾十倍!

file

file

PS:執行wsl.exe --set-version Ubuntu-20.04 2出現核心元件問題,先下載安裝
wsl_update_x64.msi後,在執行切換命令,即可開始轉換,等待轉換完成即可。

9.wsl2遷移參考OpenHarmony程式碼操作總結wsl遷移部分

10.wsl2安裝完成後,切換軟體源為國內軟體源:

s1:備份原來的源:cp -ra /etc/apt/sources.list /etc/apt/sources.list.bak

s2: 將源換成阿里源:sudo gedit /etc/apt/sources.list,將裡面的內容清空,把下面的內容複製進去,儲存退出

deb 
deb-src 
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb 
deb-src 
deb 
deb-src 
deb 
deb-src 

s3: 更新快取和升級:

sudo apt-get update
sudo apt-get upgrade

PS:按上述步驟切換軟體源後可解決一Ubuntu20.04一些依賴工具安裝失敗的問題

11.WSL對映到本地

file

如圖:

本地方便檢視

file

三、獲取原始碼

程式碼初次下載需要做一些前期準備工作:主要有碼雲gitee賬號註冊、新增碼雲SSH公鑰、安裝git和git-lfs、配置使用者資訊、repo工具安裝

註冊碼雲gitee賬號

電話號碼註冊即可,並新增工作郵箱為主郵箱,如圖:

file

註冊碼雲SSH公鑰

參考碼雲 生成/新增SSH公鑰

如圖:

file

如圖,檢測公鑰是否新增成功:

file

安裝git客戶端和git-lfs並配置使用者資訊

安裝git客戶端

執行:

sudo apt install git-all

安裝git-lfs

依次執行以下命令:

curl -s | sudo bash
sudo apt-get install git-lfs
git lfs install

配置使用者資訊

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

安裝repo工具

安裝碼雲repo工具,由於許可權可切換到root使用者下安裝,安裝後再切換個人使用者目錄操作既可:

執行:

 curl 
chmod a+x /usr/local/bin/repo
 pip3 install -i 

下載主幹master分支原始碼

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

ps:git lfs

file

rk3568對應倉庫

device/hihope/rk3568

file

四、編譯

程式碼下載後初次編譯需要做一些前期準備工作:主要有依賴工具安裝、預編譯

編譯環境準備

S1:安裝依賴工具

sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev genext2fs liblz4-tool libssl-dev libtinfo5 lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby

S2:執行java --version看是否有java的環境,沒有的話安裝下

sudo apt install openjdk-17-jre-headless

如圖:

file

file

S3:執行prebuilts,在原始碼根目錄下執行,安裝編譯器及二進位制工具

bash build/prebuilts_download.sh

版本編譯

進入原始碼根目錄,執行:

./build.sh --product-name rk3568 --ccache

編譯結果

編譯完成後,log顯示如下:

file

映象路徑:\out\rk3568\packages\phone\images\

file

daily構建版本或轉測版本獲取

daily構建版本

file

PS:hdc工具除過自己本地編譯,也可以從流水線構建本下載:

file

轉測版本

file

五、燒寫

usb驅動安裝

雙擊windows\DriverAssitant\DriverInstall.exe安裝usb驅動

正常燒寫

燒寫

雙擊\windows\RKDevTool.exe開啟燒寫工具,工具介面擊燒寫步驟如圖所示:

MASKROM模式和LOADER模式兩種模式下可供燒寫,推薦LOADER模式燒寫,非必要不使用MASKROM按鍵操作燒寫。

LOADER模式燒寫:板子上電狀態,PC usb線連線板子,先按住板子上的Recovery鍵,然後按一下reset鍵,待工具介面顯示LOADER裝置後,鬆開Recovery鍵,裝置進入loader模式,點選執行開始燒寫,如圖:

file

MASKROM模式燒寫: 裝置斷開電源狀態,PC usb線連線裝置,先按住板子上的MASKROM按鍵,裝置上電,待工具介面顯示MASKROM裝置後,鬆開MASKROM鍵,系統進入MASKROM模式,點選執行開始燒寫,具體步驟截圖與上圖一樣(注:MASKROM模式燒寫,需勾選Loader下載項)。

變磚拯救

燒寫時由於燒寫不當,比如uboot檔案燒錯等,導致燒寫工具MASKROM和Loader模式都發現不了裝置,裝置無法啟動的情況下,可按照如下操作進行燒寫:

Windows下,裝置連線電源狀態,PC連線裝置(透過USB),同時按住reset 鍵maskrom 按鍵,然後先鬆開reset鍵,待工具介面顯示MASKROM裝置後,再鬆開MASKROM鍵,裝置進入MASKROM模式,勾選Loader,MASKROM模式下點選執行開始燒寫即可。

如圖:溝通Loader下載項,MASKROM模式開始燒寫:

file

PS:MaskRom 模式是裝置變磚的最後一條防線。強行進入 MaskRom 涉及硬體操作,有一定風險,因此僅在裝置進入不了 Loader 模式的情況下,方可嘗試 MaskRom 模式。進入 MaskRom 的原理是人為的把 EMMC 的資料腳與地線短接,系統會認為 EMMC 資料出錯,從而清除 EMMC 資料。

參考

六、Hdc工具連線裝置

hdc的版本和裝置版本保持一致,可自己編譯最新hdc工具:原始碼根目錄執行./build.sh --product-name ohos-sdk --ccache,直接copy到本地路徑(可將hdc_std.exe改為hdc.exe方便點)加入環境變數,如圖:

file

七、 測試套編譯和執行

測試套編譯

到/test/xts/acts目錄下執行./build.sh product_name=rk3568 system_size=standard target_subsystem=××××可編譯單個子系統測試套

編譯結果檢視:/out/rk3568/suites/acts/

file

用例執行

編譯生成的可執行檔案(C++用例等)和hap包(js用例等)在testcases目錄下,用例執行可以將可執行檔案或hap包透過hdc send到裝置制定目錄,透過 ./***或aa start的方式執行,也可以連線裝置後,將編譯生成的acts資料夾coay到Windows本地,cmd命令列進入acts目錄,執行run.bat,然後執行run acts的方式開始執行用例,用例執行的報告和log會在acts目錄下生成。

PS:執行run.bat依賴於編譯生成的tools資料夾下的工具,tools資料夾如果為空,請檢查編譯工具是否安裝全。

舉個例子

1.手動執行

以本地手動執行js測試用例為例,ps:安裝到裝置上的應用資訊,可透過bm dump -命令檢視,比如應用包名,應用Mainability等,C++用例直接將可執行檔案send到裝置指定目錄,chmod許可權後,./***執行即可。

如圖:

S1:子系統測試套編譯

file

S2:hap安裝

file

S3:啟動應用執行測試用例,並將hilog日誌儲存到本地方便產看

file

日誌檢視:

file

2.xdevice自動執行

本地環境需求:python(最好python3.7)、安裝pthon依賴包setuptools,最新版本的hdc_std,並將hdc_std.ext的路徑加入到環境變數path中;

file

1>.將測試套編譯生生成\out\rk3568\suites\目錄下的acts資料夾copy到本地任意目錄方便執行

file

2>.cmd進入acts所在目錄執行acts目錄下的run.bat指令碼:

file

ps:可執行list檢視本地裝置是否連線成功:

file

3>.執行run acts即可自動化開始全量執行acts目錄下所有的用例並完成執行報告解析以及日誌收集等:

ps:按模組執行(具體模組可以檢視\acts\testcases):run –l ActsResourcescheduleReminderAgentTest

file

用例執行報告檢視:

file

file

日誌檢視:

file

八、串列埠除錯

file

S1.用串列埠線連線 PC 與開發板,在裝置管理器檢視埠

file

S2.使用IPOP工具或者其他串列埠工具(有些串列埠工具可能不支援,連線上列印亂碼,目前試過的IPOP和securtCRT 是OK的,XShell不行)透過串列埠連線裝置,串列埠波特率配置為 1500000,如圖:

file

S3.確定連線

連線後就可以進行debug除錯,檢視串列埠列印等操作

file

本文轉自:https://blog.csdn.net/nanzhanfei/article/details/121951919


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2888985/,如需轉載,請註明出處,否則將追究法律責任。

相關文章