鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 寫在前面可參考 PS:使用wsl2作為Windows下Ubuntu環境時提升代碼編譯等效率的幾個點: 1.安裝完wsl後,檢查wsl的版本,確保是版本2(cmd執行wsl -l -v查看,如果不是,可通過wsl.exe -set-version ...
鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站
寫在前面可參考
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個人用戶家目錄下操作
一、板子組裝
板子組裝按照方便,使用安全組裝即可,註意屏幕和攝像頭的排線插的順序,插反可能會導致屏幕不亮、攝像頭不能用等情況。
二、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:
5.安裝完直接打開,設置用戶名和密碼以及root用戶密碼:
6.將Ubuntu Shell環境修改為bash
執行sudo dpkg-reconfigure dash,選擇No,將Ubuntu shell由dash修改為bash
如圖,執行ls -l /bin/sh查看:
7.python3環境
Ubuntu20已自帶python3.8.5,執行sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150切換python3:
安裝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,編譯速度會慢幾十倍!
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 http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
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 http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
s3: 更新緩存和升級:
sudo apt-get update
sudo apt-get upgrade
PS:按上述步驟切換軟體源後可解決一Ubuntu20.04一些依賴工具安裝失敗的問題
11.WSL映射到本地
如圖:
本地方便查看
三、獲取源碼
代碼初次下載需要做一些前期準備工作:主要有碼雲gitee賬號註冊、添加碼雲SSH公鑰、安裝git和git-lfs、配置用戶信息、repo工具安裝
註冊碼雲gitee賬號
電話號碼註冊即可,並添加工作郵箱為主郵箱,如圖:
註冊碼雲SSH公鑰
參考碼雲 生成/添加SSH公鑰
如圖:
如圖,檢測公鑰是否添加成功:
安裝git客戶端和git-lfs並配置用戶信息
安裝git客戶端
執行:
sudo apt install git-all
安裝git-lfs
依次執行以下命令:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | 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 https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
下載主幹master分支源碼
repo init -u [email protected]:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
ps:git lfs
rk3568對應倉庫
device/hihope/rk3568
四、編譯
代碼下載後初次編譯需要做一些前期準備工作:主要有依賴工具安裝、預編譯
編譯環境準備
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
如圖:
S3:執行prebuilts,在源碼根目錄下執行,安裝編譯器及二進位工具
bash build/prebuilts_download.sh
版本編譯
進入源碼根目錄,執行:
./build.sh --product-name rk3568 --ccache
編譯結果
編譯完成後,log顯示如下:
鏡像路徑:\out\rk3568\packages\phone\images\
daily構建版本或轉測版本獲取
daily構建版本
http://ci.openharmony.cn/dailybuilds
PS:hdc工具除過自己本地編譯,也可以從流水線構建本下載:
轉測版本
Release-Testing-Version.md · OpenHarmony-SIG/oh-inner-release-management - Gitee.com
五、燒寫
usb驅動安裝
雙擊windows\DriverAssitant\DriverInstall.exe安裝usb驅動
正常燒寫
燒寫
雙擊\windows\RKDevTool.exe打開燒寫工具,工具界面擊燒寫步驟如圖所示:
MASKROM模式和LOADER模式兩種模式下可供燒寫,推薦LOADER模式燒寫,非必要不使用MASKROM按鍵操作燒寫。
LOADER模式燒寫:板子上電狀態,PC usb線連接板子,先按住板子上的Recovery鍵,然後按一下reset鍵,待工具界面顯示LOADER設備後,鬆開Recovery鍵,設備進入loader模式,點擊執行開始燒寫,如圖:
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模式開始燒寫:
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方便點)加入環境變數,如圖:
七、 測試套編譯和執行
測試套編譯
到/test/xts/acts目錄下執行./build.sh product_name=rk3568 system_size=standard target_subsystem=××××可編譯單個子系統測試套
編譯結果查看:/out/rk3568/suites/acts/
用例執行
編譯生成的可執行文件(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:子系統測試套編譯
S2:hap安裝
S3:啟動應用執行測試用例,並將hilog日誌保存到本地方便產看
日誌查看:
2.xdevice自動執行
本地環境需求:python(最好python3.7)、安裝pthon依賴包setuptools,最新版本的hdc_std,並將hdc_std.ext的路徑加入到環境變數path中;
1>.將測試套編譯生生成\out\rk3568\suites\目錄下的acts文件夾copy到本地任意目錄方便執行
2>.cmd進入acts所在目錄運行acts目錄下的run.bat腳本:
ps:可執行list查看本地設備是否連接成功:
3>.執行run acts即可自動化開始全量執行acts目錄下所有的用例並完成執行報告解析以及日誌收集等:
ps:按模塊執行(具體模塊可以查看\acts\testcases):run –l ActsResourcescheduleReminderAgentTest
用例執行報告查看:
日誌查看:
八、串口調試
S1.用串口線連接 PC 與開發板,在設備管理器查看埠
S2.使用IPOP工具或者其他串口工具(有些串口工具可能不支持,連接上列印亂碼,目前試過的IPOP和securtCRT 是OK的,XShell不行)通過串口連接設備,串口波特率配置為 1500000,如圖:
S3.確定連接
連接後就可以進行debug調試,查看串口列印等操作
本文轉自:https://blog.csdn.net/nanzhanfei/article/details/121951919