成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

4412開發板移植Openharmony3.0標準版-原來移植ohos可以這樣簡單!

系統
4412開發板(1G+8G)采用Cortex-A9四核的Exynos 4412 (Exynos 4 Quad),主頻1.4~1.6 GHz,GPU采用的是Mali 400MP四核心圖形處理器,支持2D/3D圖形加速。

[[442853]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

大家好!我是拓維信息的鴻蒙開發者,廖永恒。最近,我在4412開發板上移植openharmony3.0(標準版)。并顯示成功。在這里,我簡單分享我移植過程。

4412開發板(1G+8G)采用Cortex-A9四核的Exynos 4412 (Exynos 4 Quad),主頻1.4~1.6 GHz,GPU采用的是Mali 400MP四核心圖形處理器,支持2D/3D圖形加速。

在文章中,我更多介紹移植解決問題方向、方法、調試手段。因為我覺得,在移植過程,你會遇到各種各樣的問題,自己要懂得分析問題,懂得解決問題。在文章中我更多充當“指路人”,同時文章教程在移植別的平臺芯片起到借鑒作用。我是一名才疏學淺的晚輩,同時妥妥一名鴻蒙小學生。在文章中有錯誤與不足,還望各位前輩們不吝指正。

一、我的移植環境

參考文章:一種快速移植OpenHarmony Linux內核的方法

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

1.uboot:隨意,能引導kernel內核就好。

2.kernel內核:5.8 其實內核不做什么要求,我也看到有人3.幾也可以用。之所以我用5.8,因為我看到4412最新的移植驅動好的內核是這個版本。關于內核,采用圖中三方Linux內核方式。

3.根文件系統:我是直接拿3516編譯后的system.img、userdata.img、vendor.img 。燒錄到mmc分區上。updater.img可以不燒錄。燒錄鏡像,各個平臺不同,自己需要想辦法燒錄成功。3516鏡像采用OpenHarmony-v3.0-LTS版本。

二、其他移植

1.移植好上圖中oh內核態基礎代碼

2.Oh內核態特性(如hdf)可以不移植,這個不會影響系統的啟動,UI界面的顯示。

3.移植顯示屏觸摸驅動。

4.重要移植點,就是移植顯示驅(drm驅動)要移植好,在dev/dri/ 存在cardx 。我的是card0 ,你可能會問,fb驅動呢?行不行?這個我沒有驗證。目前我見到幾款開發板,它們都是drm驅動。

三、關鍵配置

1.內核配置里面必須要開啟IPC,不然系統啟動后有幾個進程處在高占用率狀態,導致系統卡頓。

Device Drivers —>

Android —>

[] Android Drivers (開啟)

[] Android Binder IPC Driver (開啟)

2.內核配置開啟SELinux Support 不然在啟動系統中報錯,但可以不開啟,不會影響系統啟動或顯知問題。

3.重新編譯內核。

四、啟動系統

1.正確引導內核啟動,根文件系統啟動。

我的bootargs是這個,

“mem=900M mmz=anonymous,0,0xA8000000,384M clk_ignore_unused androidboot.selinux=permissive skip_initramfs rootdelay=5 init=/init root=/dev/mmcblk1p2 rootfstype=ext4 rw blkdevparts=mmcblk1:1982M(updater),3075M(system),2048M(userdata),-(vendor)”

供參考。

2.啟動系統后修改三個文件

a.system/etc/init.cfg

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

我的修改成這樣,這里是掛載vendor與data分區,看自身情況修改。

b.system/etc/weston.ini

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

這里是指定顯示設備來顯示。

c./system/etc/udev/rules.d/ touchscreen.rules

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

這里是指定觸摸設備。其中TSC2007 Touchscreen是我的觸摸設備名稱。

獲取方式:cat /proc/bus/input/devices

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

五、測試過程

如果顯示、觸摸驅動都弄好,燒錄鏡像正常。重啟設備后會可以直接顯示并觸摸。就這么簡單?就是這么簡單。

如果顯示不正常,解決思路是這樣:

(1)DRM 是否存在dev/dri/cardx x=1、2、3

(2)libdrm 是否通過modetest測試。 ohos 的third_party源碼有libdrm庫想辦法編譯出來。

我的測試方法:自己寫測試文件,然后顯示出各種顏色。

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

測試結果:

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

(3)wmtest 測試

在這個目錄下的BUILD.gn 31行中改為ture。編譯生成wmtest可執行文件。

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

測試命令:

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

測試結果:

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

六、查原因與解決問題

如果在上面的測試都通過了,還是不顯示系統界面,那就按下面的方法找原因。

參考文章:啟動恢復子系統概述

1.首先查看重要進程是否開啟

shell命令行輸入:ps -A

比如 installs、accountmgr、ueventd 、foundation、weston、appspawn 、com.ohos.launch、com.ohos.system

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

上圖詮釋系統啟動過程,先初始化init,根據/etc/ init.cfg 拉起

ueventd線程,然后再根據/etc/init/.cfg文件如圖拉起各個線程。比如:accountmgr、appspawn、系統界面等等。

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

在這里演示找到不能啟動開機動畫原因。開機動畫在graphic.cfg 拉起

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

正常情況下 在shell 輸入bootanimation 會顯示開機動畫的。

假設開機界面出現異常

在shell下輸入

bootanimation & hilog | grep BootAnimation

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

報錯是因為找不到這個開機文件。

為什么要 grep BootAnimation? 因為關于開機動畫源碼中指定log標簽BootAnimation 可以過濾無關日志。

4412開發板移植openharmony3.0標準版-原來移植ohos可以這樣簡單!-鴻蒙HarmonyOS技術社區

再舉例

所有com開頭的進程如com.ohos.systemui進程沒有起來。這個怎么樣查原因,有點難入手,我采用對比法,用好的3516開發板來做對比。我想到這些進程跟系統界面有關,我想想讓它重啟界面,讓它報錯出來。我讀到文中的一句話:“由于應用都需要加載JS的運行環境,涉及大量準備工作,因此appspawn作為應用的孵化器,在接收到foundation里的應用啟動請求時,可以直接孵化出應用進程,減少應用啟動時間。”我直接kill foundation進程試試?因為kill foundation進程重啟UI界面的,然后shell輸入:kill 824 & hilog > /data/foundation.log 其中824 是foundation的pid ,把hilog日志保存在/data/foundation.log中。在4412開發板與3516開發板做同樣的動作。

在foundation.log 搜關鍵字 “E” 發現一處,4412開發板讀system/lib/****.so文件失敗。3516開發板不報錯。最后我把3516開發板的lib庫全部拷貝到4412開發板上,重啟4412開發板,com開頭的進程都起來,界面顯示正常。

總之一句話:不怕bug多,就怕找不到error,不怕它異常,就怕沒有解決思路、方向。

七、其他

1.shell aa命令的使用

aa start -a com.ohos.photos.MainAbility -b com.ohos.photos

aa start -a com.ohos.settings.MainAbility -b com.ohos.settings

aa start -a com.ohos.launcher.MainAbility -b com.ohos.launcher

八、總結

移植過程還有諸多不足:

(1)顯示屏是4.3寸的電阻屏,界面顯示不全,觸摸沒做校驗,觸摸不準,亂跳。后期換大屏的電容屏。

(2)沒有加到openharmony編譯框架里面。

(3)hdc、hdf框架沒有使用起來。

展望:會把上面的不足慢慢完善起來。

異常問題千千萬,解決方向與方法很關鍵。今與各位同仁共享移植心得,在開鴻道路上越走越順、越快。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2021-12-16 15:14:54

鴻蒙HarmonyOS應用

2021-12-31 10:00:30

鴻蒙HarmonyOS應用

2022-01-04 11:05:52

鴻蒙HarmonyOS應用

2021-11-23 15:35:05

鴻蒙HarmonyOS應用

2021-11-08 07:19:45

鴻蒙HarmonyOS應用

2021-10-14 15:48:28

鴻蒙HarmonyOS應用

2022-06-21 11:02:27

系統移植鴻蒙

2011-06-15 14:19:11

QT 移植

2020-11-24 11:41:30

websocket

2022-04-01 15:54:01

DHCP網絡協議開發板

2022-02-09 19:45:41

MQTTOpenHarmon鴻蒙

2022-01-07 09:56:16

鴻蒙HarmonyOS應用

2022-01-07 21:11:27

鴻蒙HarmonyOS應用

2023-02-06 16:21:48

2022-09-13 16:10:15

鴻蒙操作系統

2022-09-16 15:01:37

操作系統技術鴻蒙

2022-09-07 15:08:58

操作系統鴻蒙

2022-09-06 15:46:52

speexdsp鴻蒙

2021-04-21 09:50:18

ubootexynos4412開發板

2023-06-27 15:12:46

C++三方庫移植
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线a | 久久成人一区 | 欧美精品久久久久久久久老牛影院 | 日韩精品免费 | 香蕉av免费 | 亚洲国产精品成人无久久精品 | 在线观看视频91 | 日韩毛片在线视频 | 欧美一区2区三区3区公司 | 成人免费视频观看视频 | 国产一区二区三区久久久久久久久 | 久久久123 | 男人的天堂中文字幕 | 国产精品久久二区 | 久久日本 | 亚洲国产一区二区视频 | 国产成人精品网站 | 韩日精品在线观看 | 亚洲精品日韩一区二区电影 | av大片在线观看 | 91麻豆产精品久久久久久 | 欧美激情综合色综合啪啪五月 | 国产一区二区视频在线观看 | 午夜电影网址 | 99精品免费 | 欧美一级片 | 久久精点视频 | 久久成人免费 | 99re6热在线精品视频播放 | 成人性视频免费网站 | 欧美一级在线免费观看 | 精品久久中文字幕 | 91在线精品秘密一区二区 | 中文字幕在线国产 | 久久中文免费视频 | 男人的天堂在线视频 | 久久久国产精品一区 | 亚洲成人毛片 | 在线视频第一页 | 黄色av网站在线免费观看 | 不卡一区二区三区四区 |