日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
OpenHarmony 2.0 如何移植 RK3399

想了解更多內(nèi)容,請訪問:

和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.

概述

本教程介紹 OpenAtom OpenHarmony(以下簡稱“OpenHarmony”) L2如何快速移植 rk3288/RK3326/RK3399/RK3566 等芯片, 讓開發(fā)者能夠進一步開發(fā)和適配 Rockchip 平臺。

各芯片系統(tǒng)支持狀態(tài)

獲取OpenHarmony L2官網(wǎng)源碼

參考 OpenHarmony官網(wǎng) 獲取最新 master 分支代碼

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

獲取Rockchip官方Linux SDK源碼

Rockchip Linux SDK 下載命令如下:

如果您碰到無權(quán)限下載代碼的問題,可訪問:

https://gitee.com/caesar-wang/openharmony-rockchip/issues/I45DEB

編譯說明

OpenHarmony L2 編譯

 
 
 
 
  1. bash build/prebuilts_download.sh 
  2. ./build.sh --product-name Hi3516DV300 

Rockchip Linux 編譯

 
 
 
 
  1. ./build.sh lunch (選擇對應(yīng)的芯片) 
  2. ./build.sh 

RK3399 移植

分區(qū)掛載的處理

 
 
 
 
  1. sudo vi init.cfg 
  2.    "mount ext4 /dev/block/platform/fe330000.sdhci/by-name/oem /vendor wait rdonly barrier=1", 
  3.                 "mount ext4 /dev/block/platform/fe330000.sdhci/by-name/userdata /data wait nosuid nodev noatime barrier=1,data=ordered,noauto_da_alloc" 

顯示問題

vsync, 請 git apply 打上如下 patch

 
 
 
 
  1.  patches/ 
  2. └── foundation 
  3.     └── graphic 
  4.         └── standard 
  5.             └── vsync.patch 
  6.      
  7. base commit: 
  8.  
  9. commit 3301ec6b2669ff1c7014ecbc320dcb41aab16734 (HEAD) 
  10. Merge: 8186179 1441a80 
  11. Author: openharmony_ci <7387629+openharmony_ci@user.noreply.gitee.com> 
  12. Date:   Thu Jul 29 08:16:36 2021 +0000 
  13.  
  14.     !16 modify for musl compile 
  15.     Merge pull request !16 from huanglei/modify-for-musl-compile 

Kernel適配

a. 找到對應(yīng)設(shè)備

 
 
 
 
  1. console:/ $ cat /proc/bus/input/devices 
  2.  
  3. 找到對應(yīng)設(shè)備,比如觸摸gsl3673, usb對應(yīng)的handler event 
  4. I: Bus=0018 Vendor=0000 Product=0000 Version=0000 
  5. N: Name4="gsl3673" 
  6. P: Phys= 
  7. S: Sysfs=/de.vices/platform/ff110000.i2c/i2c-1/91-0040/input/input1 
  8. U: Uniq= 
  9. H: 7 Handlers=event1 cpufreq dmcfreq  
  10. B: PROP=2 
  11. B: EV=10000b 
  12. B: KEY=0 
  13. B: ABS=2658000 0 

b. 找到對應(yīng)設(shè)備. 上面觸摸屏是 event1

 
 
 
 
  1. console:/ $ cat /sys/class/input/event1/dev 
  2. 13:65 
  3. 得到從設(shè)備號是13:65 

c. 主設(shè)備號的文件 data/udev/data/看下有沒有對應(yīng),沒有的話,copy 一份修改一下比如 tp 修改如下:

 
 
 
 
  1. console:/ # cat data/udev/data/c13\:65 
  2. I:1104248553 
  3. E:ID_INPUT=1 
  4. E:ID_INPUT_TOUCHSCREEN=1 

調(diào)試工具

 
 
 
 
  1. tools/ 
  2. ├── busybox 
  3. └── strace 

添加工具方便調(diào)試,hilog 也可以調(diào)試

系統(tǒng)分區(qū)說明

鏡像的分區(qū)如下

 
 
 
 
  1. ├── MiniLoaderAll.bin 
  2. ├── boot.img 
  3. ├── misc.img 
  4. ├── oem.img 
  5. ├── parameter.txt 
  6. ├── recovery.img 
  7. ├── rootfs.img 
  8. ├── trust.img 
  9. ├── uboot.img 
  10. └── userdata.img 

其中 rootfs.img 對應(yīng) OpenHarmony L2 編譯出來的 system.imgoem.img 對應(yīng) OpenHarmony L2 編譯出來的 vendor.imguserdata.img 對應(yīng) OpenHarmony L2 編譯出來的 userdata.img

默認分區(qū)說明 ( 下面是 RK3399 IND 分區(qū)參考)

uboot 分區(qū):供 uboot 編譯出來的 uboot.img。

trust 分區(qū):供 uboot 編譯出來的 trust.img。

misc 分區(qū):供 misc.img,給 recovery 使用。

boot 分區(qū):供 kernel 編譯出來的 boot.img。

recovery 分區(qū):供 recovery 編譯出的 recovery.img。

backup 分區(qū):預(yù)留,暫時沒有用。

oem 分區(qū):供 OHOS 編出來的vendor.img。掛載在 /vendor目錄。

rootfs 分區(qū):供 OHOS 編出來的 system.img。

userdata 分區(qū):供 OHOS 編出來的 userdata.img,掛載在 /data 目錄下。

RK3399EVBIND 固件

預(yù)編好的 Openharmoy L2 固件,適配 RK3399 EVB 行業(yè)版開發(fā)板, 分享如下:

RK3399 EVB IND行業(yè)版-OHOS L2 提取碼: xrry

刷機說明

RK3399 挖掘機接口分布圖如下:

RK3399 IND 行業(yè)板接口分布圖如下:

Windows 刷機說明

SDK 提供 Windows 燒寫工具(工具版本需要 V2.84 或以上),工具位于工程根目錄:

 
 
 
 
  1. RK3399_EVB_IND-OHOS_L2-20210810/RKDevTool_Release 

如下圖,編譯生成相應(yīng)的固件后,設(shè)備燒寫需要進入 MASKROM 或 BootROM 燒寫模式,連接好 USB 下載線后,按住按鍵“MASKROM”不放并按下復(fù)位鍵“RST”后松手,就能進入 MASKROM 模式,加載編譯生成固件的相應(yīng)路徑后,點擊“執(zhí)行”進行燒寫,也可以按 “recovery" 按鍵不放并按下復(fù)位鍵 “RST” 后松手進入 loader 模式進行燒寫,下面是 MASKROM 模式的分區(qū)偏移及燒寫文件。(注意:Windows PC 需要在管理員權(quán)限運行工具才可執(zhí)行)

注:燒寫前,需安裝最新 USB 驅(qū)動,驅(qū)動詳見:

 
 
 
 
  1. tools/DriverAssitant_v5.11.zip 

Linux 刷機說明

Linux 下的燒寫工具位于 tools 目錄下(Linux_Upgrade_Tool 工具版本需要 V1.65 或以上),請確認你的板子連接到 MASKROM/loader rockusb。比如編譯生成的固件在 rockdev 目錄下,升級命令如下:

 
 
 
 
  1. sudo ./upgrade_tool ul rockdev/MiniLoaderAll.bin 
  2. sudo ./upgrade_tool di -p rockdev/parameter.txt 
  3. sudo ./upgrade_tool di -u rockdev/uboot.img 
  4. sudo ./upgrade_tool di -t rockdev/trust.img 
  5. sudo ./upgrade_tool di -misc rockdev/misc.img 
  6. sudo ./upgrade_tool di -b rockdev/boot.img 
  7. sudo ./upgrade_tool di -recovery rockdev/recovery.img 
  8. sudo ./upgrade_tool di -oem rockdev/oem.img 
  9. sudo ./upgrade_tool di -rootfs rocdev/rootfs.img 
  10. sudo ./upgrade_tool di -userdata rockdev/userdata.img 
  11. sudo ./upgrade_tool rd 

或升級打包后的完整固件:

 
 
 
 
  1. sudo ./upgrade_tool uf rockdev/update.img 

或在根目錄,機器在 MASKROM 狀態(tài)運行如下升級:

 
 
 
 
  1. ./rkflash.sh 

運行效果

FAQ

目前發(fā)現(xiàn)存在的一些問題:

1.Launcher顯示顏色反調(diào),需要要求內(nèi)核format更改位DRM_FORMAT_XBGR8888,實際是 weston 或顯示框架上的問題;

2.vsync 問題,如上顯示補丁 vsync.patch,主要還是框架上的不兼容;

3.OS 對 UI 或框架對顯示寬需要 16 字節(jié)對齊,如果遇到寬不是 16 對齊的分辨率,就會遇到顯示異常。

TODO

1.適配 Rockchip 的 device 目錄,添加 SOC 內(nèi)核構(gòu)建的子系統(tǒng);

2.使用 OHOS 自帶的 kernel,來適配 Rockchip 平臺;

3.HDF 驅(qū)動的移植, LCD、觸摸屏,WiFi 等外設(shè)的適配;

4.Rockchip 音視頻多媒體,圖形加速的適配;

5.Weston 性能、功能優(yōu)化的適配。

想了解更多內(nèi)容,請訪問:

和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.


標題名稱:OpenHarmony 2.0 如何移植 RK3399
鏈接地址:http://m.5511xx.com/article/cddcocj.html