李俊刚:我是如何在OpenHarmony完成ap6275s WiFi驱动的HDF适配工作的?
编者按:在 OpenHarmony 生态发展过程中,涌现了大批优秀的代码贡献者,本专题旨在表彰贡献、分享经验,文中内容来自嘉宾访谈,不代表 OpenHarmony 工作委员会观点。

开源之风盛行,有人站在门口跃跃欲试,有人已经进场大展身手。OpenAtom OpenHarmony(简称“OpenHarmony”)吸引了不少开发者和合作伙伴,各行各业的开发者投身其中,全方位地面向 OpenHarmony 社区进行开源贡献,李俊刚便是其中的一位。
李俊刚是深圳市开鸿数字产业发展有限公司的一名 OS 驱动开发工程师,自今年 1 月加入 OpenHarmony 生态以来,就着手 ap6275s WiFi 驱动的 HDF 适配工作,并在社区中上传项目代码,分享开源心得,用过硬的技术知识为社区朋友解答困惑,将深开鸿劳模精神、工匠精神深深植入到开源项目工作的各个工作环节,“每次贡献必须有意义,必须有实际影响”成为他身上的一种使命、一种责任。
今天,我们有幸邀请了这位代码贡献先行者李俊刚,一起聊聊加入 OpenHarmony 生态的初心、组建 OpenHarmony 开源项目团队的经历、开发过程中遇到的困难与收获等话题,以下为此次专访的对话内容。

Q:OpenHarmony A=李俊刚
Q1:请简要介绍下自己以及所在的开发团队
大家好,我是李俊刚,来自深圳开鸿数字产业发展有限公司,是 OS 研发部的一名软件工程师。今年 1 月份,我的团队开始着手 OpenHarmony 代码开发任务,主要涵盖了 ap6275s WiFi 驱动的 HDF 适配、AP 侧的开发和适配、STA 侧的开发和适配以及网络侧的 HDF 开发适配这五大板块的工作。
此次加入 OpenHarmony 社区,给了我许多不同于工作中开发项目的感受,也希望在此能为大家分享经验。
Q2:您最初为什么会选择加入OpenHarmony生态、参与开源共建呢?
开源已形成燎原之势,开源参与群体迅速扩大。
OpenHarmony 作为泛智能终端操作系统,拓展了万物互联重塑信息产业生态的新空间,使用了先进的分布式架构,对开发者非常友好,发展速度很快,这为深开鸿的目标实现提供了学习建设的平台,因此我们选择了 OpenHarmony 的技术路线,相信在平台及项目的强力支撑下,大力促进开源生态繁荣和可持续发展。
Q3:可以介绍下你们组建OpenHarmony开源项目团队的经历吗?
今年 1 月,我们组建了 OpenHarmony 开源项目团队,由于接到任务时间紧迫,前期我们在短时间内熟悉 HDF WiFi 框架后,根据功能模块进行分工领任务,熟悉驱动架构,通过团队间的相互协作配合,我们完成了代码的适配工作。
在后期阶段,我们主要围绕着 ap6275s WiFi 模组 HDF 适配工作展开。团队利用在操作系统的经验很快高效地完成了 ap6275s WiFi 模组 HDF 驱动需要的所有功能接口,包括 WiFi 驱动的 HDF 初始化流程,创建并注册网络接口流程,WiFi 基本控制侧、STA 侧、AP 侧、P2P 侧功能接口,事件上报接口以及与内核协议栈适配的网络侧接口集。
这些成果背后少不了 OpenHarmony 工作组和深开鸿研发团队热情的投入,少不了双方积极的交流与同步,更少不了双方对共同目标的支持与配合。
Q4:在整个开发进程中,您和您的团队遇到过哪些技术上或其他方面的难题呢?这些难题又是如何被逐一解决的?从中您得到了哪些收获?
我们刚组建了 OpenHarmony 开源项目团队的时候,以为带着多年积累的基础进入项目组更加游刃有余,但真正做起来发现,以标准参考进行研发不是一件简单的事,比如对 HDF WiFi 框架以及 CFG80211 框架的深入分析。
在完成 WiFi P2P 侧的适配过程中,由于原生驱动框架无法满足上层业务 p2p0 网络接口的要求,以及事件上报机制有所差异,我们需要对 WiFi 驱动源码进行很大的改造。通过团队夜以继日、努力配合、积极沟通,最终用了 2 个月的时间克服了难点,完成了此次开发适配工作。
开发的过程也给我带来了很多收获。首先,我意识到复杂的功能往往是从最简单的样例慢慢拓展迭代而来,一蹴而就是不现实的,我们经历了好几次大规模的重构,每次重构之后再回过头对比上个版本,都有如云壤之别。其次,平台给予了我们与专家进行交流的机会,通过交流学习能给彼此带来一些创新思路,这对于个人视野的拓展大有裨益。
Q5:您对OpenHarmony有什么建议吗?
任何事物在发展的初期阶段都存在不足,OpenHarmony 是一个新兴事物,在起步阶段尚未成熟,比如开发者网站界面不够简洁,宣传力度不够,这些亟需更多人加入 OpenHarmony 社区的共建,共同推动它的繁荣与发展。
我希望 OpenHarmony 社区能够吸引更多的个人开发者和学生加入,可以通过举办校园竞赛、线上活动等,提供开源项目学习与交流的平台,多给参与者,贡献者一些鼓励和培训,让人人都加入到社区中来。同时,可以通过完善文档资料,完善网站页面等,让开发者能够更快地了解和使用 OpenHarmony 平台。
Q6:OpenHarmony目前仍处在开发探索阶段,很多共建单位和生态伙伴还不清楚开源项目的玩法。可以请您给大家分享一条您认为最重要或最值得分享的心得吗?
首先,我建议加入 OpenHarmony 社区的开发者要找准自己的优势,结合自身在技术领域的强项,利用开源社区提供的资源,领取一些能力范围内的任务。
其次,积极寻求 OpenHarmony 社区各行业的技术大牛的指导,探讨学习,从交流中成长,从贡献中提升自我,我相信这样能帮助更多的开发者融入 OpenHarmony 的合作共建中。
Q7:请问您还有话想和大家说的吗?
操作系统应努力实现核心技术突破,把创新主动权、发展主动权牢牢握在自己手中。我们新一代开发者,有信心也有决心在创新上走得更快,走得更远!

搜索
复制
李俊刚:我是如何在OpenHarmony完成ap6275s WiFi驱动的HDF适配工作的?的更多相关文章
- 我是如何在SQLServer中处理每天四亿三千万记录的
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...
- 【转】我是如何在SQLServer中处理每天四亿三千万记录的
原文转自:http://blog.jobbole.com/80395/ 首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文 ...
- (转)我是如何在SQLServer中处理每天四亿三千万记录的
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...
- (转)我是如何在SQLServer中处理每天四亿三千万记录的
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...
- 我是如何在SQLServer中处理每天四亿三千万记录的(转)
出处:http://www.cnblogs.com/marvin/p/HowCanIHandleBigDataBySQLServer.html 首先声明,我只是个程序员,不是专业的DBA,以下这篇文章 ...
- 告诉大家我是如何在14:00秒杀到 《深入理解Bootstrap》
1.打开火狐,不用IE,3个评论窗口,层叠在一起,可以点击3次哦. 2.打开一个百度的现在时间,不能看你本机的时间,要互联网的时间. 3.等时间到13:59:59,开始依次点击按钮,总有你预想不到的结 ...
- 刚买个炼狱蝰蛇1800dpi的下完驱动提示没有发现鼠标
2017-02-19补充:可以下载下面的程序 ,也可以访问 http://cn.razerzone.com/synapse/ 下载雷云 也可解决问题 ------------------------ ...
- 【转】如何在ubuntu12.04设置adb驱动
原文网址:http://www.xuebuyuan.com/1475698.html 在ubuntu上adb驱动不用像在windows上一样需要额外装,只需要写一个配置文件就可以,下面是设置的步骤: ...
- [administrator][driver] driverctl 是如何在udev上层管理设备驱动的
https://gitlab.com/driverctl/driverctl driverctl 处于 kernel 与 udev做设备与驱动管理的上层. 理解什么叫override是本文的核心内容. ...
- 如何在K8s,Docker-Compose注入镜像Tag
最近在做基于容器的CI/CD, 一个朴素的自动部署的思路是: 从Git Repo打出git tag,作为镜像Tag ssh远程登录到部署机器 向部署环境注入镜像Tag,拉取镜像,重新部署 下面分享我是 ...
随机推荐
- python模块Configparser读取 ini(cfg,txt)等配置文件
一个ini文件的组成: 一个ini文件是由多个section组成,每个section中以key=vlaue形式存储数据: 示例 # 安装 pip install ConfigParser # 1.导包 ...
- 【算法day3】小和、荷兰国旗、快排
小和问题 现有数组[1,3,4,2,5] 1左边是0(小于1),所以1的小和为0 3左边是1(小于3),所以3的小和为1 4左边是1.3(均小于4),所以4的小和为1+3=4 2左边是1.3.4(只有 ...
- 04、Etcd中常见的概念
本篇内容主要来源于自己学习的视频,如有侵权,请联系删除,谢谢. 上一章节,我们学习了 Etcdctl 的使用,从中窥探了 Etcd 的强大之处.从这一节开始,后面的内容基本上都是偏理论的东西,争取在看 ...
- Java Reactive Programming
Java Reactive Programming 响应式编程 在 Spring Boot 中,支持了响应式编程,带来了性能和内存使用方面的优化. 详见: Spring: Blocking vs no ...
- 【Azure 应用服务】Azure Function 中运行Powershell 脚本,定位 -DefaultProfile 引发的错误
问题描述 突然之间,使用PowerShell脚本 Get-AzVirtualNetwork 获取虚拟网络信息时,如果带上 -DefaultProfile $sub 参数,就出现 Azure cred ...
- Autofac入门与替代ASP.NET Core、ABP依赖注入容器
目录 Autofac 的使用 1,简单的实践 2,注册组件 3,Lambda 注册组件 4,注册泛型 5,属性注入 6,解析服务 7,生命周期 8,实例作用域 9,Autofac 其它需要学习的知识 ...
- C++socket服务器与客户端简单通信流程
服务器和客户端简单通信的流程,做一个简单的复习: 1.服务器创建的流程 代码如下,各个重要函数已经写注释: #include <iostream> // 推荐加上宏定义 #define W ...
- Redis基础_五大数据类型和常用命令
## 1. Redis基本介绍 1.1 传统数据存储出现的问题 海量用户 高并发 罪魁祸首--关系型数据库: 性能瓶颈:磁盘IO性能低下 扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群 解决思路 ...
- 我和我的DBA之路
这几天,突然想写写这些年的工作总结,毕业至今快20年的回顾. 想到20年前,在做毕业设计的时候,当时是学的机械工程类专业,因为带毕业设计的老师兼职企业有个门户网站的需求,而我又会做点网站设计,带的老师 ...
- Python中那些简单又好用的特性和用法
Python作为我的主力语言帮助我开发了许多DevOps运维自动化系统,这篇文章总结几个我在编写Python代码过程中用到的几个简单又好用的特性和用法,这些特性和用法可以帮助我们更高效地编写Pytho ...