编者按:在 OpenHarmony 生态发展过程中,涌现了大批优秀的代码贡献者,本专题旨在表彰贡献、分享经验,文中内容来自嘉宾访谈,不代表 OpenHarmony 工作委员会观点。

李俊刚
深圳开鸿数字产业发展有限公司
资深OS驱动开发工程师

开源之风盛行,有人站在门口跃跃欲试,有人已经进场大展身手。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适配工作的?的更多相关文章

  1. 我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  2. 【转】我是如何在SQLServer中处理每天四亿三千万记录的

    原文转自:http://blog.jobbole.com/80395/ 首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文 ...

  3. (转)我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  4. (转)我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  5. 我是如何在SQLServer中处理每天四亿三千万记录的(转)

    出处:http://www.cnblogs.com/marvin/p/HowCanIHandleBigDataBySQLServer.html 首先声明,我只是个程序员,不是专业的DBA,以下这篇文章 ...

  6. 告诉大家我是如何在14:00秒杀到 《深入理解Bootstrap》

    1.打开火狐,不用IE,3个评论窗口,层叠在一起,可以点击3次哦. 2.打开一个百度的现在时间,不能看你本机的时间,要互联网的时间. 3.等时间到13:59:59,开始依次点击按钮,总有你预想不到的结 ...

  7. 刚买个炼狱蝰蛇1800dpi的下完驱动提示没有发现鼠标

    2017-02-19补充:可以下载下面的程序 ,也可以访问 http://cn.razerzone.com/synapse/  下载雷云 也可解决问题 ------------------------ ...

  8. 【转】如何在ubuntu12.04设置adb驱动

    原文网址:http://www.xuebuyuan.com/1475698.html 在ubuntu上adb驱动不用像在windows上一样需要额外装,只需要写一个配置文件就可以,下面是设置的步骤: ...

  9. [administrator][driver] driverctl 是如何在udev上层管理设备驱动的

    https://gitlab.com/driverctl/driverctl driverctl 处于 kernel 与 udev做设备与驱动管理的上层. 理解什么叫override是本文的核心内容. ...

  10. 如何在K8s,Docker-Compose注入镜像Tag

    最近在做基于容器的CI/CD, 一个朴素的自动部署的思路是: 从Git Repo打出git tag,作为镜像Tag ssh远程登录到部署机器 向部署环境注入镜像Tag,拉取镜像,重新部署 下面分享我是 ...

随机推荐

  1. 协程与yield表达式

    在函数内,yield语句可以作为表达式使用,出现在赋值运算符的右边,例如: def receiver(): print("Ready to receive") while True ...

  2. Python函数每日一讲 - 简洁快速学会globals()函数

    引言 在 Python 中,globals() 函数是一个强大的工具,它允许您访问全局命名空间中的所有变量和函数.本文将深入探讨 globals() 函数的语法.用法以及实际应用场景,帮助大家更好地理 ...

  3. 【Azure 应用服务】Azure SignalR 是否可以同时支持近十万人在线互动

    什么是 Azure SignalR 服务? Azure SignalR Service 简化了通过 HTTP 向应用程序添加实时 Web 功能的过程. 这种实时功能允许服务将内容更新推送到连接的客户端 ...

  4. 【Azure API 管理】讨论APIM是否适合直接存储文件到Azure Storage Account呢?

    问题描述 需要从 APIM 直接将大文件存入Azure Storage,没看到这方面的官方文档,所以是否有这方面的实践案例,或者APIM是否支持引用SDK (如Azure Storage SDK)? ...

  5. 解决element-ui的date-picker组件的picker-options属性不生效的问题

    网上查半天都没查到,好像没人写,于是俺怀着激动的心情来记录下 项目来需求,说要控制日期选择的最大最小范围,看似简单,实则藏深坑! 小白的我天真地按照网上的例子(主要是官网也不给一个!)写完如下: 1. ...

  6. 借助 Terraform 功能协调部署 CI/CD 流水线-Part 1

    在当今快节奏的开发环境中,实现无缝.稳健的 CI/CD 流水线对于交付高质量软件至关重要.在本文中,我们将向您介绍使用 Bitbucket Pipeline.ArgoCD GitOps 和 AWS E ...

  7. SSK:超级键盘模拟器,调用底层,可模拟所有按键

    SSK - 吵架键盘模拟器 SuperSimulator of Keyboard 调用系统底层,能够模拟所有键盘操作! 本程序结合快Key(QuicKeys智能登录助手)一起使用,能够创造更多奇迹! ...

  8. CompletableFuture Demo

    CompletableFuture Demo 题目:有一个数据库client,从数据库中取数据A和数据B,然后求和.请使用并发的知识,尽快的完成操作. /** * {@code @author:} k ...

  9. 探究WPF中文字模糊的问题:TextOptions的用法

    有网友问WPF中一些文字模糊是什么问题.之前我也没有认真思考过这个问题,只是大概知道和WPF的像素对齐(pixel snapping).抗锯齿(anti-aliasing)有关,通过设置附加属性Tex ...

  10. end_of_line = lf 选择行尾序列 .editorconfig - 老项目不动代码存盘 文件变动 CRLF 的问题 vscode

    end_of_line = lf 选择行尾序列 .editorconfig - 老项目不动代码存盘 文件变动 CRLF 的问题 缘由 vscode 老项目代码,没有变动,ctrl + s后 文件有变化 ...