最近研究出了 USB HDC 連接和屏幕背光適配,特此分享給大家。
USB HDC 適配
USB HDC 適配首先要確認內核的編譯選項中有 USB 控制器的驅動。
以小米 6 舉例,小米 6 采用的 usb 控制器是高通芯片內置的,并支持 usb3.0,但是小米配置成只能用 usb2.0 的速度,這里要批判一下小米萬年 usb2.0。
回到正題,雖然只能用 usb2.0,但是芯片是 3.0 的所以內核選項還是需要選上 3.0 的驅動。
... CONFIG_USB_DWC3=y#選中usb3驅動 #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驅動 ... CONFIG_USB_LIBCOMPOSITE=y CONFIG_USB_F_FS=y#HDC連接通過configfs進行實現 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
到此內核部分修改完畢,接下來還需要修改 init.sagit.usb.cfg 文件,關鍵在兩個地方,一個是序列號,這個必須是一個能獲取到值,我之前一直用官方默認的寫法,系統一直識別失敗,提示序列號不正確。
還有一個就是修改 usb 控制器的名稱,這個就需要我們在系列文章第一篇中有提到,需要提前在正常運行的系統里面獲取到 usb 控制器的名稱,或者后續配置 usb 串口啟用控制臺進行獲取也行。
在啟用 usb 串口后,執行以下命令獲取 usb 控制器名稱:
ls/sys/class/udc/
![29e11b12-d12a-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/35/wKgaomTng1WAae9bAAADfBb56Vk016.png)
獲取到 usb 控制器名稱后修改 init.sagit.usb.cfg 中的 usb 控制器名稱和序列號獲取方式。
"cmds":[ ... "write/config/usb_gadget/g1/strings/0x409/serialnumber0123456789", ... "setparamsys.usb.controllera800000.usb" ]修改完成之后編譯并燒錄進設備,這樣就能適配 hdc 設備連接器了,打通 hdc 之后就可以使用 DevEco Studio 進行真機調試應用開發。
屏幕背光調節
屏幕背光調節適配首先確認存在背光節點信息:
ls/sys/class/backlight/backlight/
![29ea5fd8-d12a-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/35/wKgaomTng1WAfXeLAAAIPICYgQw690.png)
然后通過命令行修改背光亮度值,查看是否有變化:
cd/sys/class/backlight/backlight/ echo1>brightness
確認修改亮度可以控制屏幕之后我們需要修改 display 層適配代碼。 修改 drm_connector.cpp 內的 GetBrightness 函數:
修改 drm_connector.cpp 內的 SetBrightness 函數:
修改完成之后保存,編譯燒錄,小米 6 親測有效:
最后,我已經把 小米 6 和樹莓派 4 的 vendor,board,soc,kernel 都開源了,開源倉在我創建的 OHOS 移植社區,提供給大家做移植參考。
https://gitee.com/ohos-porting-communities
審核編輯:湯梓紅
-
控制器
+關注
關注
112文章
16445瀏覽量
179446 -
usb
+關注
關注
60文章
7980瀏覽量
266079 -
小米
+關注
關注
70文章
14387瀏覽量
144936 -
hdc
+關注
關注
1文章
44瀏覽量
3618 -
鴻蒙
+關注
關注
57文章
2392瀏覽量
43050
原文標題:小米6鴻蒙移植進度更新:已打通HDC
文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
鴻蒙手機不遠了,網友喊話小米:搭載華為鴻蒙系統
網友喊話小米:搭載鴻蒙系統,小米會不會搭載呢?
全球超1800萬用戶裝載鴻蒙系統!余承東的小目標或提前實現?
HDC 2022重磅首發《鴻蒙生態應用開發白皮書》,附全文
【觸覺智能 Purple Pi OH 開發板體驗】二、鴻蒙系統APP應用例程學習HDC使用學習
怎么更新鴻蒙系統 更新步驟如下
![怎么<b class='flag-5'>更新</b><b class='flag-5'>鴻蒙</b>系統 <b class='flag-5'>更新</b>步驟如下](https://file.elecfans.com/web2/M00/00/8E/pYYBAGC9gs6AIrwjAABBZKKiqFE470.png)
華為鴻蒙怎么更新 華為鴻蒙系統更新教程
手機怎么更新鴻蒙系統
華為怎么更新鴻蒙 華為手機怎么更新鴻蒙
基于openharmony適配移植的進度條實現圓形進度
![基于openharmony適配<b class='flag-5'>移植</b>的<b class='flag-5'>進度</b>條實現圓形<b class='flag-5'>進度</b>](https://file.elecfans.com/web2/M00/37/77/pYYBAGI71G6AIvz6AAAXVUoA-7k573.jpg)
評論