最近研究出了 USB HDC 連接和屏幕背光適配,特此分享給大家。
USB HDC 適配
USB HDC 適配首先要確認內(nèi)核的編譯選項中有 USB 控制器的驅(qū)動。
以小米 6 舉例,小米 6 采用的 usb 控制器是高通芯片內(nèi)置的,并支持 usb3.0,但是小米配置成只能用 usb2.0 的速度,這里要批判一下小米萬年 usb2.0。
回到正題,雖然只能用 usb2.0,但是芯片是 3.0 的所以內(nèi)核選項還是需要選上 3.0 的驅(qū)動。
... CONFIG_USB_DWC3=y#選中usb3驅(qū)動 #CONFIG_USB_DWC3_HOSTisnotset #CONFIG_USB_DWC3_GADGETisnotset CONFIG_USB_DWC3_DUAL_ROLE=y # #PlatformGlueDriverSupport # CONFIG_USB_DWC3_OF_SIMPLE=y CONFIG_USB_DWC3_QCOM=y#選中高通usb驅(qū)動 ... CONFIG_USB_LIBCOMPOSITE=y CONFIG_USB_F_FS=y#HDC連接通過configfs進行實現(xiàn) CONFIG_USB_CONFIGFS=y ... CONFIG_USB_CONFIGFS_F_FS=y同時保證【USB Gadget precomposed configurations】為非選。
# #USBGadgetprecomposedconfigurations # #CONFIG_USB_ZEROisnotset #CONFIG_USB_AUDIOisnotset #CONFIG_USB_ETHisnotset #CONFIG_USB_G_NCMisnotset #CONFIG_USB_GADGETFSisnotset #CONFIG_USB_FUNCTIONFSisnotset #CONFIG_USB_MASS_STORAGEisnotset #CONFIG_USB_G_SERIALisnotset #CONFIG_USB_MIDI_GADGETisnotset #CONFIG_USB_G_PRINTERisnotset #CONFIG_USB_CDC_COMPOSITEisnotset #CONFIG_USB_G_ACM_MSisnotset #CONFIG_USB_G_MULTIisnotset #CONFIG_USB_G_HIDisnotset #CONFIG_USB_G_DBGPisnotset #CONFIG_USB_G_WEBCAMisnotset #CONFIG_USB_RAW_GADGETisnotset #endofUSBGadgetprecomposedconfigurations
到此內(nèi)核部分修改完畢,接下來還需要修改 init.sagit.usb.cfg 文件,關(guān)鍵在兩個地方,一個是序列號,這個必須是一個能獲取到值,我之前一直用官方默認的寫法,系統(tǒng)一直識別失敗,提示序列號不正確。
還有一個就是修改 usb 控制器的名稱,這個就需要我們在系列文章第一篇中有提到,需要提前在正常運行的系統(tǒng)里面獲取到 usb 控制器的名稱,或者后續(xù)配置 usb 串口啟用控制臺進行獲取也行。
在啟用 usb 串口后,執(zhí)行以下命令獲取 usb 控制器名稱:
ls/sys/class/udc/

獲取到 usb 控制器名稱后修改 init.sagit.usb.cfg 中的 usb 控制器名稱和序列號獲取方式。
"cmds":[ ... "write/config/usb_gadget/g1/strings/0x409/serialnumber0123456789", ... "setparamsys.usb.controllera800000.usb" ]修改完成之后編譯并燒錄進設(shè)備,這樣就能適配 hdc 設(shè)備連接器了,打通 hdc 之后就可以使用 DevEco Studio 進行真機調(diào)試應(yīng)用開發(fā)。
屏幕背光調(diào)節(jié)
屏幕背光調(diào)節(jié)適配首先確認存在背光節(jié)點信息:
ls/sys/class/backlight/backlight/

然后通過命令行修改背光亮度值,查看是否有變化:
cd/sys/class/backlight/backlight/ echo1>brightness

確認修改亮度可以控制屏幕之后我們需要修改 display 層適配代碼。 修改 drm_connector.cpp 內(nèi)的 GetBrightness 函數(shù):
修改 drm_connector.cpp 內(nèi)的 SetBrightness 函數(shù):

修改完成之后保存,編譯燒錄,小米 6 親測有效:

最后,我已經(jīng)把 小米 6 和樹莓派 4 的 vendor,board,soc,kernel 都開源了,開源倉在我創(chuàng)建的 OHOS 移植社區(qū),提供給大家做移植參考。
https://gitee.com/ohos-porting-communities
審核編輯:湯梓紅
-
控制器
+關(guān)注
關(guān)注
114文章
17624瀏覽量
190066 -
usb
+關(guān)注
關(guān)注
60文章
8369瀏覽量
281507 -
小米
+關(guān)注
關(guān)注
70文章
14509瀏覽量
151122 -
hdc
+關(guān)注
關(guān)注
1文章
49瀏覽量
3984 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2839瀏覽量
45334
原文標題:小米6鴻蒙移植進度更新:已打通HDC
文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
鴻蒙手機不遠了,網(wǎng)友喊話小米:搭載華為鴻蒙系統(tǒng)
網(wǎng)友喊話小米:搭載鴻蒙系統(tǒng),小米會不會搭載呢?
全球超1800萬用戶裝載鴻蒙系統(tǒng)!余承東的小目標或提前實現(xiàn)?
HDC 2022重磅首發(fā)《鴻蒙生態(tài)應(yīng)用開發(fā)白皮書》,附全文
【觸覺智能 Purple Pi OH 開發(fā)板體驗】二、鴻蒙系統(tǒng)APP應(yīng)用例程學習HDC使用學習
怎么更新鴻蒙系統(tǒng) 更新步驟如下
華為鴻蒙怎么更新 華為鴻蒙系統(tǒng)更新教程
怎么升級鴻蒙系統(tǒng)-鴻蒙系統(tǒng)怎么更新
手機怎么更新鴻蒙系統(tǒng)
華為怎么更新鴻蒙 華為手機怎么更新鴻蒙
鴻蒙系統(tǒng)怎么更新 鴻蒙系統(tǒng)怎么更新升級
基于openharmony適配移植的進度條實現(xiàn)圓形進度
基于openharmony適配移植的進度條實現(xiàn)圓形進度
鴻蒙開源進度輪項目案例
【HarmonyOS 5】鴻蒙中進度條的使用詳解

小米6鴻蒙移植進度更新:已打通HDC
評論