最近研究出了 USB HDC 連接和屏幕背光適配,特此分享給大家。
USB HDC 適配
USB HDC 適配首先要確認(rèn)內(nèi)核的編譯選項(xiàng)中有 USB 控制器的驅(qū)動。
以小米 6 舉例,小米 6 采用的 usb 控制器是高通芯片內(nèi)置的,并支持 usb3.0,但是小米配置成只能用 usb2.0 的速度,這里要批判一下小米萬年 usb2.0。
回到正題,雖然只能用 usb2.0,但是芯片是 3.0 的所以內(nèi)核選項(xiàng)還是需要選上 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進(jìn)行實(shí)現(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)鍵在兩個地方,一個是序列號,這個必須是一個能獲取到值,我之前一直用官方默認(rèn)的寫法,系統(tǒng)一直識別失敗,提示序列號不正確。
還有一個就是修改 usb 控制器的名稱,這個就需要我們在系列文章第一篇中有提到,需要提前在正常運(yùn)行的系統(tǒng)里面獲取到 usb 控制器的名稱,或者后續(xù)配置 usb 串口啟用控制臺進(jìn)行獲取也行。
在啟用 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" ]修改完成之后編譯并燒錄進(jìn)設(shè)備,這樣就能適配 hdc 設(shè)備連接器了,打通 hdc 之后就可以使用 DevEco Studio 進(jìn)行真機(jī)調(diào)試應(yīng)用開發(fā)。
屏幕背光調(diào)節(jié)
屏幕背光調(diào)節(jié)適配首先確認(rèn)存在背光節(jié)點(diǎn)信息:
ls/sys/class/backlight/backlight/

然后通過命令行修改背光亮度值,查看是否有變化:
cd/sys/class/backlight/backlight/ echo1>brightness
確認(rèn)修改亮度可以控制屏幕之后我們需要修改 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文章
17100瀏覽量
184225 -
usb
+關(guān)注
關(guān)注
60文章
8182瀏覽量
272831 -
小米
+關(guān)注
關(guān)注
70文章
14471瀏覽量
147273 -
hdc
+關(guān)注
關(guān)注
1文章
46瀏覽量
3849 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2618瀏覽量
44040
原文標(biāo)題:小米6鴻蒙移植進(jìn)度更新:已打通HDC
文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
鴻蒙手機(jī)不遠(yuǎn)了,網(wǎng)友喊話小米:搭載華為鴻蒙系統(tǒng)
網(wǎng)友喊話小米:搭載鴻蒙系統(tǒng),小米會不會搭載呢?
鴻蒙資料更新12/11
全球超1800萬用戶裝載鴻蒙系統(tǒng)!余承東的小目標(biāo)或提前實(shí)現(xiàn)?
HDC 2022重磅首發(fā)《鴻蒙生態(tài)應(yīng)用開發(fā)白皮書》,附全文
【觸覺智能 Purple Pi OH 開發(fā)板體驗(yàn)】二、鴻蒙系統(tǒng)APP應(yīng)用例程學(xué)習(xí)HDC使用學(xué)習(xí)
怎么更新鴻蒙系統(tǒng) 更新步驟如下

華為鴻蒙怎么更新 華為鴻蒙系統(tǒng)更新教程
怎么升級鴻蒙系統(tǒng)-鴻蒙系統(tǒng)怎么更新
手機(jī)怎么更新鴻蒙系統(tǒng)
華為怎么更新鴻蒙 華為手機(jī)怎么更新鴻蒙
鴻蒙系統(tǒng)怎么更新 鴻蒙系統(tǒng)怎么更新升級

基于openharmony適配移植的進(jìn)度條實(shí)現(xiàn)圓形進(jìn)度

鴻蒙開源進(jìn)度輪項(xiàng)目案例
【HarmonyOS 5】鴻蒙中進(jìn)度條的使用詳解

評論