精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenHarmony富設備移植指南(三)—OH編譯框架適配與定制

系統 OpenHarmony
小米6先以樹莓派移植時比較順利的OH3.2 beta3版本進行移植,勇于嘗試的同學可以基于最新的OH3.2 beta5版本。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

1、OH編譯框架適配

特別說明:

OH3.2 beta4我移植過多款設備,輸入子系統會開機崩潰,還沒找到具體原因,移植的時候OH3.2 beta5還沒出來了,所以小米6先以樹莓派移植時比較順利的OH3.2 beta3版本進行移植,勇于嘗試的同學可以基于最新的OH3.2 beta5版本。

修改編譯框架需要GN相關的知識,同時社區也有豐富的文章講解鴻蒙的編譯框架,有疑問時可以先查看社區文章進行學習。

OH編譯框架適配新設備時,在3.2版本的前提下,需要新增3個文件夾,以下為我適配小米6的目錄

/device/board/xiaomi/sagit
/device/soc/qualcomm/
/vendor/xiaomi/sagit

基本配置思路是參考官方開發板,復制hihope的rk3568,替換成自己的,比如小米6的代號是sagit,需要把rk3568替換成sagit。以下進行簡單舉例,詳細移植方法之前有發過移植適配的文章,可以先看,別的大神也都發過,編譯框架的移植適配套路都差不多,在此不再重復講解,文章中的代碼是beta1的,查看代碼倉時請切換到beta3分支。

修改配置文件:config.json

修改GN編譯文件:各級目錄下的x.gn,x.gni,x.build

config.json舉例:

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

.build文件舉例:

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

.gn文件文件舉例:

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

定制部分可以先不做,先把編譯需要的文件補充完整,并修改替換掉必要的部分。

hihope ---> xiaomi
rk3568 ---> sagit(soc目錄下是rk3568 ---> msm8998)
rockchip ---> qualcomm

修改完成之后執行編譯。

./build.sh --product-name sagit --ccache1.

修改時會不斷有修改漏的或者錯的地方,沒有經驗的話可能會花比較長的時間,新手需要注意,成功的標志是編譯完成并顯示build successful。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

2、OH編譯框架定制

(1)vendor部分的定制修改

OH編譯的起點是從vendor下的config.json開始的,我們首先進行這個配置文件的修改,首先加密相關的這兩個選項關掉,降低移植難度。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

ril蜂窩網絡相關,xiaomi6沒有驅動進行使能,去掉,新增graphic配置,覆蓋掉rich.json繼承過來的配置,配置關閉gpu渲染。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

ab分區啟動不適配,設置成false。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

config.json可以在subsystems內配置完所有組件,但是那樣組件列表會很長,不同的設備配置會有大量重復的配置,所以大部分重復的組件都添加到了rich.json這個文件中,源碼在productdefine/common/inherit下,方便開發者繼承引用,如果開發者需要定制某項組件的屬性,只要像我一樣在產品的config.json中再聲明一遍即可覆蓋,其他文件沒有特別需要定制修改的地方,這里不再做講解。

(2)board部分的定制修改

在board中,我刪掉了bootanimation,updater,定制了kernel,增加了frimware,test。

刪掉bootanimation是因為這個是廠商根據OH動畫生成工具生成的動畫,我不需要定制開機畫面所以去掉了bootanimation,updater也是一樣,我不需要更新分區,所以不需要配置也刪掉了。

我也定制了kernel的編譯方式,因為OH官方的編譯方式是從board倉中統一轉到kernel/linux/build下,調用里面的編譯腳本,采用官方OH內核+soc廠商patch+config的形式進行編譯,我是采用第三方內核的方式進行移植,所以不適用官方的編譯方式,需要自己定制編譯腳本。

增加frimware是為了在ramdisk中添加驅動固件,test是自己找的一些測試例子,用來輔助移植。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

定制kernel編譯方式

官方的編譯方式可以概括為:

  1. 復制kernel源碼到out/KERNEL_OBJ/kernel/src_tmp目錄下。
  2. 打上hdf.patch(使內核支持hdf驅動框架)。
  3. 打上soc.patch(使內核支持對應的芯片平臺)。
  4. 復制config(復制對應芯片平臺的內核配置到out下的kernel目錄)。
  5. 編譯內核,設備樹。

我是參考了官方的build方式,精簡不用的判斷,定制了自己的編譯方式,概括為:

  1. 復制我定制的kernel源碼到out/KERNEL_OBJ/kernel/src_tmp目錄下。
  2. 打上hdf.patch(使內核支持hdf驅動框架)。
  3. 復制config(修改復制為放置在我board倉下的config)。
  4. 編譯內核,設備樹。

內核源碼我是采用了pmOS的msm8998的主線代碼:

???Qualcomm Snapdragon 835 Mainline / Linux · GitLab??

根據pmOS移植教程我找到了xiaomi6的內核編譯配置,可以看到是采用Linux 6.0版本。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

克隆代碼到kernel目錄下:

git clone https://gitlab.com/msm8998-mainline/linux.git -b mainline/6.0 
linux-sagit1.

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

修改定制自己內核編譯的一些信息,完整代碼參考樹莓派移植board倉。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

定制ramdisk

把上一篇解包得到的固件放到源碼目錄中。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

新建BUILD.gn,每個文件都寫一個配置。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

四個文件寫完配置之后放到一個分組里。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

對應到上層目錄的BUILD.gn。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

定制分區配置

根據上一篇我們獲取到的分區信息,修改分區配置,另外rk3568的data分區采用f2fs格式,我們采用ext4格式,所以和采用的是舊的格式,可以參考fstab.A311D的配置。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

定制test

這個目錄下是我自己添加的輔助移植測試顯示基本功能的例子,來源自csdn【何小龍】的drm系列文章,用于學習drm和測試顯示屏驅動,大家感興趣的話可以去看看何小龍的文章,不懂如何添加到OH編譯框架的話可以去我開源的樹莓派board倉參考:

??rpi4/test · Diemit/device_board_raspberrypi - 碼云 - 開源中國 (?gitee.com??)?

(3)soc部分的定制修改

soc目錄是為了適配各種硬件的比如顯示,GPU,WIFI等待,這里我只定制了display,目標不要太大,使用cpu渲染適配display就可以顯示開機了。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

display源碼是采用OH官方的示例,源代碼在。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

直接復制到qualcomm/msm8998/hardware下并改名成display。

修改drm_display.cpp文件

修改drm驅動名稱為【msm】

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

驅動名新手可能怎么找可能會比較懵,可以進入內核源碼目錄下的driver/gpu/drm/對應的gpu,找到有xxxdrv.c的文件,找到drm_driver結構體,找到name屬性。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

樹莓派的gpu是vc4。


OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

高通的是msm。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

修改drm_allocator.cpp文件

注釋掉海思的私有函數,我們不需要,順便刪掉hisilicon_drm.h的引用和hisilicon_drm.h文件。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

添加display_gfx.c文件

內部不用實現,這部分是2d圖形加速適配的,先不適配。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

修改BUILD.gn文件

修改基本原則是把def去掉,include改為自己的目錄。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

display_device需要部分修改適配,根據樹莓派移植經驗。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

添加display_gfx的動態庫編譯配置。

OpenHarmony富設備移植指南(3)OH編譯框架適配與定制-開源基礎軟件社區

display這部分的移植都可以參照我之前移植樹莓派的教程,源碼也開源的,這里只是部分講解,完整代碼請去代碼倉查看

至此OH編譯框架適配說明完畢,執行編譯命令,確保能夠編譯成功!

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2023-02-08 15:46:50

設備移植第三方內核適配

2023-04-06 09:10:13

設備移植鴻蒙

2023-03-06 16:11:00

設備移植開源GPU驅動

2023-03-10 09:47:45

OpenGL渲染設備移植

2023-02-06 16:21:48

2023-02-14 17:06:31

設備移植打包刷機

2023-03-23 16:02:07

樹莓派4GPU調試

2023-02-28 15:40:16

鴻蒙CPU渲染

2023-02-07 15:43:13

三方庫適配鴻蒙

2023-05-16 14:49:25

鴻蒙內核移植

2023-05-05 16:05:26

設備內核移植鴻蒙

2022-04-18 10:47:55

UI框架鴻蒙操作系統

2022-03-17 15:55:19

播放數字音頻解碼鴻蒙

2022-05-11 15:08:52

驅動開發系統移植

2021-12-02 10:05:01

鴻蒙HarmonyOS應用

2023-06-12 15:43:44

鴻蒙智能家居開發

2022-10-11 15:04:28

NAPI開發鴻蒙

2022-09-13 16:10:15

鴻蒙操作系統

2022-04-15 14:31:02

鴻蒙操作系統

2023-05-08 15:59:27

UI自動化腳本鴻蒙
點贊
收藏

51CTO技術棧公眾號

亚洲免费黄色录像| 日韩一本精品| 日韩欧美不卡视频| 亚洲69av| 色老汉一区二区三区| 日韩中文一区二区三区| 一级黄色片视频| 欧美日韩a区| 日韩av有码在线| 国产视频一区二区视频| 在线观看免费网站黄| 狠狠色丁香久久婷婷综合_中| 久久国产精品免费视频| av在线播放网址| 美女100%一区| 亚洲欧洲综合另类| 国产在线精品一区二区三区| 手机在线看片1024| 91精品天堂福利在线观看 | 欧美少妇在线观看| 日本黄色三级视频| 韩日在线一区| 亚洲日韩第一页| 美女被艹视频网站| 亚洲美女尤物影院| 1024国产精品| 欧美三级网色| 精品人妻一区二区三区三区四区| 亚洲日产国产精品| 综合136福利视频在线| 亚洲午夜久久久久久久久| 成人爽a毛片免费啪啪| 亚洲男同1069视频| 美女被啪啪一区二区| 在线免费a视频| 最新国产精品久久久| 亚洲男人天堂网站| 国产精品99久久久精品无码| 新片速递亚洲合集欧美合集| 亚洲一区二区在线视频| 亚洲欧美日产图| 亚洲av成人精品一区二区三区在线播放 | 国产精品麻豆免费版现看视频| 亚洲视频一起| 制服丝袜中文字幕亚洲| 国产一区亚洲二区三区| 国产丝袜视频在线播放| 亚洲欧洲美洲综合色网| 日本一区二区高清视频| 天堂在线资源网| 国产精品综合久久| 国产一区二中文字幕在线看| 国产主播第一页| 激情久久久久| 欧美日韩成人黄色| 黄色a级片在线观看| 日产精品一区二区| 亚洲最新视频在线| www.色多多| 国产中文欧美日韩在线| 精品视频在线看| 韩国日本美国免费毛片| 中文在线аv在线| 午夜精品国产更新| 国产3p露脸普通话对白| 欧美家庭影院| 国产精品狼人久久影院观看方式| 日韩欧美激情一区二区| 美丽的姑娘在线观看免费动漫| eeuss影院一区二区三区| 97se视频在线观看| 亚洲av无码一区二区三区性色| 免费成人在线视频观看| 国产成人精品综合久久久| 精品在线播放视频| 99在线|亚洲一区二区| 97人人爽人人喊人人模波多| 18精品爽视频在线观看| 国产在线不卡| 久久人人看视频| 国产稀缺真实呦乱在线| 亚洲国产专区校园欧美| 777777777亚洲妇女| 亚洲GV成人无码久久精品| 另类av一区二区| 国产精品高潮呻吟久久av野狼| 无码人妻精品一区二区三区不卡| 亚洲欧美日韩精品一区二区| 国产91精品最新在线播放| 天天爽夜夜爽人人爽| 日韩电影在线一区| 国产精品偷伦视频免费观看国产 | 国产在线日韩精品| 亚洲男人的天堂在线播放| 丁香激情五月少妇| 午夜影院欧美| 久久香蕉国产线看观看av| 久草网站在线观看| 99成人在线| 国产精品扒开腿做爽爽爽的视频| 一级全黄少妇性色生活片| 国产自产v一区二区三区c| 99国精产品一二二线| 午夜国产在线观看| 中文字幕欧美激情| 神马午夜伦理影院| 黄在线观看免费网站ktv| 色哦色哦哦色天天综合| 午夜国产福利在线观看| 卡通动漫精品一区二区三区| 日韩电影中文 亚洲精品乱码| av网站免费在线看| 国产精品久久久久久影院8一贰佰| 欧美成人国产va精品日本一级| 日本少妇裸体做爰| 免费看黄色91| 国产成人成网站在线播放青青 | 欧美韩国日本| 精品国免费一区二区三区| 亚洲av网址在线| 欧美电影免费观看高清| 国内精品久久久久影院优| 色婷婷久久综合中文久久蜜桃av| 国产aⅴ综合色| 日本欧美精品久久久| 天堂av在线电影| 在线观看视频欧美| 一二三区视频在线观看| 欧美亚洲精品在线| 久久全球大尺度高清视频| 91午夜交换视频| 久久午夜电影网| 在线观看三级网站| 天天免费亚洲黑人免费| 亚洲精品一区二区精华| www.av天天| 伊人成人在线视频| 91精品视频专区| 久青青在线观看视频国产| 一区二区在线观看视频 | 久久久久亚洲AV成人| 亚洲一区区二区| www.久久草| 成年人网站在线| 欧美日韩精品一区视频| 日韩人妻无码一区二区三区| 亚洲色图88| 国产精品久久久久久久久久久不卡| 国产综合在线播放| 亚洲黄色小说网站| 九热视频在线观看| 国产一区二区三区91| 91精品国产91久久久久久最新| 国产夫妻性生活视频| 国产精品剧情在线亚洲| 国产一区二区三区精彩视频| 成人av地址| 欧美激情女人20p| 国产区精品在线| 亚洲欧洲日韩在线| www.久久久久久久久久久| 日韩大片在线| 国产精品色午夜在线观看| 欧美三级中文字幕在线观看| 77777亚洲午夜久久多人| 性猛交富婆╳xxx乱大交天津 | 国产精品一级黄片| 99成人在线| 国产精品对白一区二区三区| 八戒八戒神马在线电影| 日韩一区二区三| 黄页网站免费观看| 国产成人精品免费一区二区| 超碰超碰超碰超碰超碰| 视频在线亚洲| 欧美激情久久久| 熟妇高潮一区二区高潮| 欧美日韩国产专区| 亚洲最大成人网站| 日韩高清不卡在线| 在线观看精品视频| 99综合久久| 日韩在线免费观看视频| 国产精品九九九九| 一区二区成人在线| 国产老熟女伦老熟妇露脸| 中文亚洲字幕| 日韩高清dvd| 国产在线一区不卡| 97成人在线视频| 国产高清美女一级毛片久久| 欧美日韩卡一卡二| 国产一级二级三级| 99久久精品免费看国产免费软件| 国产片侵犯亲女视频播放| 大香伊人久久精品一区二区| 欧美亚洲午夜视频在线观看| 国产一区二区三区福利| 色欧美片视频在线观看在线视频| 美国精品一区二区| 国产成人精品1024| 久久精品国产精品亚洲色婷婷| 国产一区二区三区探花| 91精品视频在线播放| 美女扒开腿让男人桶爽久久软| 国产午夜精品视频免费不卡69堂| 黄色一区二区视频| 亚洲精品午夜久久久| www.日本高清| 可以免费看不卡的av网站| 2021狠狠干| 久久av综合| 91久久精品国产91性色| 久久久男人天堂| 国产亚洲成精品久久| 精品国产av鲁一鲁一区| 一本一道久久a久久精品| 欧美性生交大片| 9i在线看片成人免费| 日本中文字幕二区| 免费亚洲网站| a级免费在线观看| 久久美女视频| 国产欧美日韩一区二区三区| 韩国精品视频在线观看 | 日韩电影在线观看网站| 2025韩国大尺度电影| 亚洲激情播播| 99r国产精品视频| se69色成人网wwwsex| 国产69精品久久久| 老司机午夜在线视频| 国产午夜精品久久久| 99在线精品视频免费观看20| 色偷偷88欧美精品久久久| 麻豆changesxxx国产| 中文字幕一区二区三区乱码在线| av网站有哪些| 懂色av中文一区二区三区| av中文字幕网址| 国产一区91| 人妻激情另类乱人伦人妻| 成人午夜国产| 欧美日韩免费高清| 婷婷精品在线观看| 国产精品一区二区三区精品| 高清一区二区中文字幕| 国产中文日韩欧美| www.久久.com| 国产精品久久久久久婷婷天堂| 国产精品电影| 97在线视频国产| 成人高潮aa毛片免费| 久久综合伊人77777| av午夜在线| 亚洲人成电影网站色www| 日韩专区第一页| 精品粉嫩aⅴ一区二区三区四区| 五月天中文字幕| 欧美亚洲免费在线一区| 波多野结衣电车| 欧美影院午夜播放| 国产乱码在线观看| 欧美日韩小视频| 亚洲天堂网视频| 7777精品伊人久久久大香线蕉完整版 | 亚洲视频综合网| 99久久久无码国产精品免费蜜柚| 亚洲欧美偷拍三级| 日本天堂中文字幕| 天天影视涩香欲综合网| 欧美激情黑白配| 欧美性受xxxx黑人xyx| 亚洲无码久久久久久久| 日韩免费视频线观看| 免费国产精品视频| 亚洲天堂av在线免费| 日韩理伦片在线| 欧美二区在线播放| 亚洲少妇视频| 国产精品视频资源| 日韩精品一区二区三区中文字幕 | 韩国精品久久久999| 成人欧美magnet| 国产在线播放不卡| 狠狠一区二区三区| 色吧亚洲视频| 欧美久久成人| 国内外免费激情视频| 国产在线日韩欧美| 艳妇乳肉亭妇荡乳av| 国产精品黄色在线观看| 日本五十路女优| 精品视频1区2区| 天堂av手机版| 最近2019年手机中文字幕| 国产黄色大片在线观看| 国产精品视频精品视频| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 欧美黑人性生活视频| 成年美女黄网站色大片不卡| 91精品视频专区| 红桃成人av在线播放| 国产乱淫av片杨贵妃| 久久精品国产亚洲a| 毛茸茸多毛bbb毛多视频| 亚洲三级视频在线观看| 久久久久久久久久一级| 亚洲精品一区二区三区蜜桃下载 | 热久久这里只有精品| 精品视频一区二区三区在线观看| 日韩精品第一页| 99成人在线| 韩国黄色一级片| 国产精品成人免费| 久久精品偷拍视频| 亚洲精品成人久久久| 最爽无遮挡行房视频在线| 国产欧美中文字幕| 美女精品一区最新中文字幕一区二区三区 | 视频三区在线| 国产精品91在线观看| 日韩av影院| 精品视频在线观看一区| 国产精品 日产精品 欧美精品| 91动漫免费网站| 欧美性淫爽ww久久久久无| 国产在线一二三区| 日韩av毛片网| 亚洲精品aaaaa| 黄色免费视频大全| 99久久伊人网影院| 日韩av在线播| 亚洲高清不卡av| 91桃色在线| 国产一区二区精品免费| 欧美先锋影音| 亚洲视频 中文字幕| 亚洲国产精品久久久久婷婷884| 国产99视频在线| 欧美国产第一页| baoyu135国产精品免费| avav在线播放| 粉嫩av亚洲一区二区图片| 国产在线一区视频| 亚洲国产精品大全| 美女的胸无遮挡在线观看| 麻豆av一区二区三区久久| 毛片一区二区| 手机毛片在线观看| 欧美撒尿777hd撒尿| 91欧美在线视频| 91在线视频导航| 欧美在线三区| 免费看毛片的网站| 日韩欧美国产免费播放| 国内精品一区视频| 国产伦精品免费视频| 99精品综合| 中文字幕99页| 色综合天天做天天爱| 超碰免费在线| 91系列在线观看| 亚洲国产高清一区| 中文字幕一区二区三区人妻电影| 欧美视频在线一区| 182tv在线播放| 国严精品久久久久久亚洲影视| 蜜桃久久av| 精品亚洲乱码一区二区| 欧美mv日韩mv国产网站app| 老色鬼在线视频| 亚洲国产综合自拍| 国产精品一卡二卡| 91精品国产高清一区二区三密臀| 中文字幕在线看视频国产欧美在线看完整 | αv一区二区三区| 国产日韩欧美| 久久嫩草捆绑紧缚| 亚洲精品98久久久久久中文字幕| gogo亚洲高清大胆美女人体| 懂色av一区二区三区四区五区| 成人精品视频一区二区三区| 精品黑人一区二区三区| 久久久黄色av| 免费看av成人| 日本成人在线免费观看| 欧美日韩国产中字| 韩国中文字幕在线| 欧美二区三区| 国产一区二区在线观看视频| 亚洲黄色小说图片| 久久午夜a级毛片| 久久99国产精品视频| 欧美色图校园春色| 欧美综合欧美视频| av伦理在线| 樱空桃在线播放| 国产日韩一级二级三级| 日韩永久免费视频|