前言:
今天看官们对“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更新内核