编者按:在 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. 移植openharmony之添加wifi驱动

    最近在调试openharmony3.0小型系统的wifi模块,把过程记录下,防止以后忘记. 首先这是官方给的开发说明步骤: WLAN驱动基于HDF框架和PLATFORM框架开发,不区分OS和芯片平台, ...

  2. 我是如何在B站自学Java的?

    众所周知,现在的B站已经是个学习网站了,尤其学习区的开放,不得不说,B站真的是神站啊,再也不是之前的那个小破站了! 现如今,B站成了我每天必逛的一个地方,当然,作为一枚有理想有抱负的Java程序员,我 ...

  3. 如何在Mac上查找WiFi密码并在iPhone上共享它?

    MacBooks上的"钥匙串访问"应用程序存储您的个人数据和密码.也可以将其称为macOS密码管理器.每当您在登录网站,电子邮件帐户,网络或任何受密码保护的项目时保存密码时,都可以 ...

  4. OpenHarmony学习笔记——I2C驱动0.96OLED屏幕

    文章目录 前言 I2C简介 硬件连接 编程实现 创建代码框架 初始化并复用GPIO 初始化I2C0 初始化OLED 从机地址 OLED初始化配置 功能代码 总结 目录 前言 前面介绍了一些关于在Hi3 ...

  5. 刚毕业的大学习,去大数据机构培训,工作好找吗?

    大数据开发工程师在一线城市和大数据发展城市的薪资是比较高的,刚毕业的大学习,去大数据机构培训,工作好找吗? 因为我接触到的学生毕业后一般在北京.广东.上海.南京地区就业的居多,所以可能我的概括也有局限 ...

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

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

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

    2019独角兽企业重金招聘Python工程师标准>>> 小中午,无意间读到这篇博客,觉得,文中作者在处理海量数据写入方面,所做的一些尝试,或许可以给同道朋友提供一些帮助,与君共勉.  ...

  8. 我是如何在 16 岁时成为全栈开发者的?

    @程序员,你在 16 岁的时候做了什么?又是什么让你走上了技术之路的呢? 本文我将跟你分享国外一位 16 岁小哥是如何一步步成为全栈开发者的. 作者 | Nuno Martins 译者 | 刘静,责编 ...

  9. 我是如何在3个月内写出博士论文的?

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨James Hayton 来源丨学位与写作 编辑丨极市平台 在 ...

最新文章

  1. 如何优雅地保留两位有效数字,又规避末尾出现多余的“0”?
  2. 使用phpStudy运行伊人集项目
  3. 开发日记-20190425 关键词 gradle基础学习 7年之约 启动篇
  4. 【Paper】2019_Consensus Control of Multiple AUVs Recovery System Under Switching Topologies and Time D
  5. mysql一对多增删改查_SQLAlchemy 增删改查 一对多 多对多
  6. 知识计算机硬件 教学设计,“计算机硬件系统”教学设计
  7. 如何用vrml技术实现虚拟计算机组装实验,基于VRML的计算机组装虚拟实验的研究与实现_吴兰.pdf...
  8. install cuda on ubuntu
  9. BZOJ3123:[SDOI2013]森林——题解
  10. 商品中心 --- 淘宝类目属性体系
  11. matlab生成tiff,MATLAB中自定义栅格数据地理坐标并写出数据到tiff文件
  12. 3分钟快速制作一张高颜值的公众号封面图
  13. python实战篇(七)---一寸照换背景
  14. 程序员的成长之路——道和术的思考
  15. 什么是项目风险?如何做好项目风险管理
  16. SrpingCloud微服务 服务调用逻辑图
  17. word文档打不开显示内容有问题要怎么解决?
  18. 绿巨能 macbook pro 电池
  19. Spring-retry重试组件
  20. zoj 2334 Monkey King

热门文章

  1. linux虚假唤醒(spurious wakeup)
  2. 亿级流量的缓存方案-缓存同步-Canal实战
  3. Mac视频播放器Elmedia Video Player Pro for Mac
  4. 计算机方面的专业英语,谁有计算机专业英语方面的英语论文?
  5. Unity打包H5 网页全屏
  6. SSM+jsp实现仓库管理系统,界面那叫一个优雅
  7. 转: php5.3.5 模块安装 (XAMPP)
  8. GIS数据转换器无限转换
  9. Tomcat8源码分析系列-spring boot集成tomcat
  10. Linux下ppp拨号+3G模块(evdo 中兴MC8630模块)