RK3568編譯OpenHarmony 3.1 Release
??想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):??
??51CTO OpenHarmony技術(shù)社區(qū)??
三步搭建一站式開(kāi)發(fā)環(huán)境
RK3568的一站式開(kāi)發(fā)環(huán)境搭建只需三步,幾分鐘就可完成,十分快捷。開(kāi)發(fā)環(huán)境搭建在Ubuntu20.04操作系統(tǒng)上,硬盤(pán)可用空間建議100G以上,注意用戶名不可含有中文。
1.打開(kāi)終端工具,將Ubuntu Shell環(huán)境修改為bash,選擇No。
sudo dpkg-reconfigure dash
2.下載??DevEco Device Tool 3.0 Release Linux版本??。
3.進(jìn)入DevEco Device Tool軟件下載目錄,解壓安裝包,對(duì)解壓后的文件夾進(jìn)行賦權(quán),然后安裝。
unzip devicetool-linux-tool-3.0.0.400.zip
chmod u+x devicetool-linux-tool-3.0.0.400.sh
sudo ./devicetool-linux-tool-3.0.0.400.sh -- --install-plugins
一站式開(kāi)發(fā)環(huán)境搭建完成,啟動(dòng)Visual Studio Code,即可開(kāi)啟RK3568的開(kāi)發(fā)之旅。
源碼獲取
應(yīng)用開(kāi)發(fā)者只需下載RK3568標(biāo)準(zhǔn)系統(tǒng)二進(jìn)制鏡像文件,燒錄進(jìn)大宇開(kāi)發(fā)板,就可開(kāi)始北向開(kāi)發(fā)了。南向開(kāi)發(fā)者可以下載全量代碼Release版本,開(kāi)發(fā),編譯后燒錄。
下載二進(jìn)制解決方案或全量代碼??下載地址??。
解壓源碼到/Documents/DevEco/Projects 默認(rèn)工程目錄下。
工程導(dǎo)入和編譯
打開(kāi)Visual Studio Code,點(diǎn)擊導(dǎo)入工程,選擇源碼,點(diǎn)擊導(dǎo)入。
彈窗中選擇導(dǎo)入。
工程導(dǎo)入類型選擇從OpenHarmony源碼導(dǎo)入。
產(chǎn)品選擇built-in下rk3568,版本選擇3.x,點(diǎn)擊打開(kāi),項(xiàng)目創(chuàng)建成功。
主頁(yè)點(diǎn)擊工程配置,Device Tool首先會(huì)自動(dòng)檢測(cè)工具鏈和編譯器是否完整,這是新版IDE的特色功能。如果不完整,點(diǎn)擊安裝按鈕進(jìn)行工具鏈配置,直到工具鏈設(shè)置完成。
其它設(shè)置采用默認(rèn),點(diǎn)擊保存后打開(kāi)工程。
點(diǎn)擊Build按鈕,開(kāi)始編譯,等待編譯完成。
編譯完成后,鏡像文件輸出到 out/rk3568/packages/phone/images 文件夾下,可用于后續(xù)燒錄。
編譯過(guò)程遇到過(guò)的問(wèn)題及解決辦法。
解決辦法。
sudo apt-get install libssl-dev
復(fù)制2.之前在ubuntu18.06下編譯OpenHarmony 3.1 Release,出現(xiàn)過(guò)以下報(bào)錯(cuò)。
解決辦法。
sudo apt-get install liblz4-tool
sudo apt-get install genext2fs
OpenHarmony 3.1 Release源碼編譯過(guò)rk3568后,如果再編譯hi3516標(biāo)準(zhǔn)系統(tǒng),會(huì)出現(xiàn)ramdisk報(bào)錯(cuò)。
解決辦法:將build/ohos/images/mkimage/ramdisk_resource_config.ini的最后四行代碼注釋掉,就可以正常編譯3516了,如需編譯rk3568,恢復(fù)這四行代碼即可。
[board]
boot_type = two_stages
source_path = ../../out/kernel/src_tmp/linux-5.10/make-boot.sh
target_path = ./packages/phone/make-boot.sh
??想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):??
??51CTO OpenHarmony技術(shù)社區(qū)??