0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OpenHarmony技术社区 来源:OST开源开发者 2023-04-03 11:33 次阅读

最近研究出了 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

获取到 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

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

cd/sys/class/backlight/backlight/
echo1>brightness

29f8039a-d12a-11ed-bfe3-dac502259ad0.png

确认修改亮度可以控制屏幕之后我们需要修改 display 层适配代码。 修改 drm_connector.cpp 内的 GetBrightness 函数:

2a058966-d12a-11ed-bfe3-dac502259ad0.png

修改 drm_connector.cpp 内的 SetBrightness 函数:

2a15b142-d12a-11ed-bfe3-dac502259ad0.png

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

2a31871e-d12a-11ed-bfe3-dac502259ad0.jpg

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

https://gitee.com/ohos-porting-communities

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16374

    浏览量

    178156
  • usb
    usb
    +关注

    关注

    60

    文章

    7947

    浏览量

    264737
  • 小米
    +关注

    关注

    70

    文章

    14356

    浏览量

    144234
  • hdc
    hdc
    +关注

    关注

    1

    文章

    44

    浏览量

    3593
  • 鸿蒙
    +关注

    关注

    57

    文章

    2355

    浏览量

    42867

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

文章出处:【微信号:gh_834c4b3d87fe,微信公众号:OpenHarmony技术社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    鸿蒙手机不远了,网友喊话小米:搭载华为鸿蒙系统

    和后续的更新服务?而关于第二点,今天华为官方已经正式表态了。今天华为消费者业务云服务总裁张平安接受采访时被问到HMS和鸿蒙系统是否会向小米、OV等第三方手机厂商开放?他给出了如此回应,华为生态开放且希望
    发表于 09-25 11:49

    网友喊话小米:搭载鸿蒙系统,小米会不会搭载呢?

    手机升级鸿蒙系统还存在两点不确定性,第一是小米OV等厂商是否愿意除了安卓系统外,也支持一下华为鸿蒙系统?第二则是华为是否会为其它厂商的手机搭载鸿蒙系统提供技术支持和后续的
    发表于 09-28 09:40

    鸿蒙资料更新12/11

    这次对所有的鸿蒙资料做了收集整理,现有:1、鸿蒙入门手册2、鸿蒙开发工具3、三套开发板资料4、驱动开发5、应用程序开发6、设备开发7、系统移植
    发表于 12-11 19:11

    全球超1800万用户装载鸿蒙系统!余承东的小目标或提前实现?

    6月份,华为最新鸿蒙系统正式上线。目前华为捐献鸿蒙全部基础能力,希望让全球更多开发者参与到鸿蒙相关生态的开发工作当中,同时华为官方也表示
    发表于 07-01 17:33

    HDC 2022重磅首发《鸿蒙生态应用开发白皮书》,附全文

    11月4-6日,华为开发者大会2022(HDC)在东莞松山湖举办,会上重磅首发《鸿蒙生态应用开发白皮书》!(以下简称《白皮书》) 该书全面阐释了鸿蒙生态下应用开发核心理念、关键能力以及
    发表于 11-11 11:59

    【触觉智能 Purple Pi OH 开发板体验】二、鸿蒙系统APP应用例程学习HDC使用学习

    两年开发鸿蒙APP也是使用的这两种语言进行开发。当下看TypeScript程序还能说勉强看懂,但是当下开发程序就没那个实力了,需要之后在抽时间学习。技术更新的也确实是快啊!!! 二、天气预报程序开发
    发表于 08-31 11:13

    怎么更新鸿蒙系统 更新步骤如下

      鸿蒙系统四脱离了安卓基础框架的一款手机系统,更是发布就打出自己的特色那就是面向万物互联时代的全场景分布式操作系统,那么作为这样一款独特的手机系统,很多华为用户都想要更新尝试,那么鸿蒙
    的头像 发表于 06-07 10:20 2.5w次阅读
    怎么<b class='flag-5'>更新</b><b class='flag-5'>鸿蒙</b>系统 <b class='flag-5'>更新</b>步骤如下

    华为鸿蒙怎么更新 华为鸿蒙系统更新教程

    6 月 2 日发布会上,华为新系统鸿蒙已经正式发布,很多用户都想试一试华为鸿蒙系统,那么华为鸿蒙怎么更新呢?下面小编就带来华为
    的头像 发表于 06-08 10:27 9033次阅读

    怎么升级鸿蒙系统-鸿蒙系统怎么更新

    怎么升级鸿蒙系统-鸿蒙系统怎么更新 怎么升级鸿蒙系统,鸿蒙系统四脱离了安卓基础框架的一款手机系统,更是
    的头像 发表于 06-21 20:27 4405次阅读

    手机怎么更新鸿蒙系统

    手机怎么更新鸿蒙系统?在 6 月 2 日,华为正式发布了鸿蒙系统,对于这个新生的系统,肯定很多小伙伴都想试一试,那么问题来了,手机怎么更新
    的头像 发表于 07-06 18:19 5835次阅读

    华为怎么更新鸿蒙 华为手机怎么更新鸿蒙

    2021年6月2日华为鸿蒙系统正式推送发布,部分华为手机机型开启升级功能体验到鸿蒙系统2.0,部分拥有华为手机的用户还不知道怎么
    的头像 发表于 07-08 16:10 8573次阅读

    鸿蒙系统怎么更新 鸿蒙系统怎么更新升级

    许多用户对华为鸿蒙系统2.0很感兴趣但不知道自己的手机能否升级,如何升级鸿蒙系统2.0,这篇文将给出鸿蒙系统怎么更新升级的方法,希望对用户有所帮助。
    的头像 发表于 07-09 15:00 5.7w次阅读
    <b class='flag-5'>鸿蒙</b>系统怎么<b class='flag-5'>更新</b> <b class='flag-5'>鸿蒙</b>系统怎么<b class='flag-5'>更新</b>升级

    基于openharmony适配移植进度条实现圆形进度

    项目介绍 项目名称: Progressbar 所属系列:openharmony的第三方组件适配移植 功能:实现圆形进度,水波浪进度框 项目移植状态:主功能完成 调用差异:无 开发版本:
    发表于 03-24 10:14 1次下载
    基于openharmony适配<b class='flag-5'>移植</b>的<b class='flag-5'>进度</b>条实现圆形<b class='flag-5'>进度</b>

    将底层接口调用实现成鸿蒙接口的循环音乐进度

    该三方开源库从github fork过来,主要将底层接口调用的实现修改成鸿蒙接口的实现,将三方库鸿蒙化,供开发鸿蒙应用的开发者使用。 描述 项目移植状态:支持组件所有基本功能 完成度:
    发表于 03-24 13:51 3次下载

    鸿蒙开源进度轮项目案例

    项目介绍 项目名称:开源进度轮 所属系列:鸿蒙的第三方组件适配移植 功能:可以实现自定义环形进度条的功能,支持环形进度条的旋转、
    发表于 03-24 14:30 1次下载