龙空技术网

小米6鸿蒙移植进度更新:已打通HDC

51CTO 14477

前言:

今天看官们对“win10xbox0x409”都比较注意,同学们都需要分析一些“win10xbox0x409”的相关内容。那么小编在网络上汇集了一些关于“win10xbox0x409””的相关内容,希望看官们能喜欢,小伙伴们一起来了解一下吧!

最近研究出了 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_HOST is not set# CONFIG_USB_DWC3_GADGET is not setCONFIG_USB_DWC3_DUAL_ROLE=y## Platform Glue Driver Support#CONFIG_USB_DWC3_OF_SIMPLE=yCONFIG_USB_DWC3_QCOM=y                          #选中高通usb驱动...CONFIG_USB_LIBCOMPOSITE=yCONFIG_USB_F_FS=y                                     #HDC连接通过configfs进行实现CONFIG_USB_CONFIGFS=y...CONFIG_USB_CONFIGFS_F_FS=y

同时保证【USB Gadget precomposed configurations】为非选。

## USB Gadget precomposed configurations## CONFIG_USB_ZERO is not set# CONFIG_USB_AUDIO is not set# CONFIG_USB_ETH is not set# CONFIG_USB_G_NCM is not set# CONFIG_USB_GADGETFS is not set# CONFIG_USB_FUNCTIONFS is not set# CONFIG_USB_MASS_STORAGE is not set# CONFIG_USB_G_SERIAL is not set# CONFIG_USB_MIDI_GADGET is not set# CONFIG_USB_G_PRINTER is not set# CONFIG_USB_CDC_COMPOSITE is not set# CONFIG_USB_G_ACM_MS is not set# CONFIG_USB_G_MULTI is not set# CONFIG_USB_G_HID is not set# CONFIG_USB_G_DBGP is not set# CONFIG_USB_G_WEBCAM is not set# CONFIG_USB_RAW_GADGET is not set# end of USB Gadget precomposed configurations

到此内核部分修改完毕,接下来还需要修改 init.sagit.usb.cfg 文件,关键在两个地方,一个是序列号,这个必须是一个能获取到值,我之前一直用官方默认的写法,系统一直识别失败,提示序列号不正确。

还有一个就是修改 usb 控制器的名称,这个就需要我们在系列文章第一篇中有提到,需要提前在正常运行的系统里面获取到 usb 控制器的名称,或者后续配置 usb 串口启用控制台进行获取也行。

在启用 usb 串口后,执行以下命令获取 usb 控制器名称:

ls /sys/class/udc/

获取到 usb 控制器名称后修改 init.sagit.usb.cfg 中的 usb 控制器名称和序列号获取方式。

"cmds" : [                ...                "write /config/usb_gadget/g1/strings/0x409/serialnumber 0123456789",                ...                "setparam sys.usb.controller a800000.usb"            ]

修改完成之后编译并烧录进设备,这样就能适配 hdc 设备连接器了,打通 hdc 之后就可以使用 DevEco Studio 进行真机调试应用开发。

屏幕背光调节

屏幕背光调节适配首先确认存在背光节点信息:

ls /sys/class/backlight/backlight/

然后通过命令行修改背光亮度值,查看是否有变化:

cd /sys/class/backlight/backlight/echo 1 > brightness

确认修改亮度可以控制屏幕之后我们需要修改 display 层适配代码。

修改 drm_connector.cpp 内的 GetBrightness 函数:

修改 drm_connector.cpp 内的 SetBrightness 函数:

修改完成之后保存,编译烧录,小米 6 亲测有效:

最后,我已经把 小米 6 和树莓派 4 的 vendor,board,soc,kernel 都开源了,开源仓在我创建的 OHOS 移植社区,提供给大家做移植参考。

标签: #win10xbox0x409 #centos6更新内核