Hi~RT-Thread社区开发者们:
【社区人物志】是 RT-Thread社区推出的新栏目,人物志将关注每一个对RT-Thread社区做出过贡献的小伙伴,会定期从 RT-Thread社区小伙伴中选出一位活跃的开发者进行专访,分享开发者们与RT-Thread的故事和缘分以及学习的方法和经验。再次感谢各位小伙伴对社区作出的贡献,你们对RT-Thread社区的支持和贡献我们都记在了心里,也期望更多的小伙伴们能够加入RT-Thread的生态建设中~
**本期开发者介绍:**马龙伟,论坛账号Cfly,RT-Thread社区专家,2022年RT-Thread全球技术大会讲师,Agile 全家桶软件包作者,获得 2019 及 2021 年RT-Thread社区杰出贡献奖
他的论坛主页:https://club.rt-thread.org/u/2c298f197058c516.html
作为RT-Thread社区中最活跃的开发者之一,马龙伟是如何与RT-Thread结缘的? 又是怎么成为RT-Thread社区杰出贡献者的?一起来看看他的专访内容~
Q:请先简单介绍一下自己(技术背景、工作经历、学习经历)
我毕业工作已经3年了,主要是在嵌入式底层技术开发这块。前面 2 年在物联网领域,现在转到了工业自动化行业。工作内容主要涉及到操作系统及中间件的移植、驱动调试等。
Q:您是怎么和RT-Thread结缘的?是什么让你对RT-Thread始终抱有热情的?
在第一家公司实习的时候领导提了一下后我去了解了下,发现它和 uCOS、FreeRTOS 用起来完全不一样,“小而美” 的理念贯穿了全部,特别是 Env 和 设备框架当时让我感觉很新奇,当时毕设也刚开始时间还很多就想着把它用起来。野火哥的 《RT-Thread 内核实现与应用开发实战指南》 这本书对我当时的学习起了很大的帮助。
刚开始还是萌新的时候加了一个群(具体是哪个忘记了),里面的人都很热情,社区和群也很活跃,自己在群友的帮助下也慢慢成长了起来。直到现在 RT-Thread 的社区也依旧非常活跃和开放,也认识了很多朋友探讨技术和生活。因为这样一群有趣热情的人,我的学习成长之路不孤单。
Q:作为RT-Thread社区杰出贡献奖的获得者,能否分享您的社区贡献经历或者经验吗?
第一次贡献还是毕设的时候第一次提交 Libmodbus 软件包,跟着官方的软件包提交教程一步步操作,涉及到要将自己的仓库的分支合并到官方也不是一次成功,主要是对于一些 git 的操作也不是很熟悉。
工作以后随着深入使用 RT-Thread,总觉得有些组件或软件包用起来不习惯,就想着我要自己造轮子。从最简单的 Led 开始到按键、网络调试、Ftp 服务器,自己的轮子也慢慢多了起来,一看人家都有全家桶我也要有就命名为 Agile 全家桶吧。每隔一段时间将自己的一些想法抽象出来作为新的家庭成员。
Q:您开发的Agile系列软件包颇受开发者好评,在这开发过程中有什么难忘的回忆吗?
文档!文档!还是文档!一样东西再好用但是你没有说明书或者是天书那就很难推广出去,可能自己某一天再去看它都会想我这写的啥?
最开始的时候写文档还是比较随意的,草草几百字结束,哪管洪水滔天。后面接触到了 Doxygen 后发现原来文档还能这样写,这时候我又立了个 Flag,我要把 Agile 全家桶文档重写,接下来就是痛苦的一段日子了,首当其冲的是 Agile Modbus,那几个晚上和周末熬夜写文档日子到现在还能记得,一个一个字憋出来的感觉让我想起来我上学写作文的时候。光有文档还不行,让开发者好用还要有完整的例子才行,接下来又是一段痛苦的日子。就这样 Agile Modbus 呈现出了现在的版本。
当文档通过工具生成出来的时候感觉之前的努力都是值得的。
Q:您在使用RT-Thread进行项目开发时,遇到最大的难点是什么?
应该是设备框架和 POSIX 吧,设备框架本就是一个新奇的东西,而且 RT-Thread 提供了很多的设备框架能够让你傻瓜式用起来,但是如何实现自己的底层驱动接入设备管理呢,这需要你去认同它的理念,忍过一段不适的时间。同时 POSIX 的对接也是一个很大的难点,select 实现的原理及如何对接更是需要对设备框架有一个很深的了解。
**Q:在嵌入式开发方面,您是通过哪些方式来提升自己的开发技能的呢? **
像 RT-Thread 贡献代码就是一个很好提升自己技能的方法。同时自己用到的组件或软件包中有比较好的想法的时候,花时间研究一下人家的代码,学习思想。一些人家的开源项目也可以拿来学习。自己突然想到什么好点子的时候把它实现出来且拿出来和大家分享讨论。
Q:你最喜爱的开发工具有哪些?在日常工作中会用到哪些?
最喜欢的工具 Env、Git 和 VS Code吧。VS Code 中很多插件都很有用,并且配合 Env 工具生成配置文件后写代码很流畅。
Q:工作/学习期间有遇到什么问题或挑战,您是怎么解决的呢?
我会尽可能的去解决工作中的难题,不拘泥于一种方法,卡住的时候和同事或朋友一起讨论下发散思维,要讲出来,我发现有好多问题自己描述着突然灵光就出现了。
Q:对于想要学习RT-Thread的开发者,您有哪些建议/经验想与他们分享?
学习的枯燥是不可避免的,但是了解透彻 RT-Thread 的设计思想才能在使用中更加得心应手,我建议买本官方的书籍花一段时间学习熟悉它的机制。同时可以从简单 demo 开始实现起来,一个一个模块的试过去看现象。遇到问题的时候可以在论坛上提问,论坛有很多热心的大神。
Q:您认为RT-Thread社区有哪些做得比较好的地方?还有哪些地方需要改进?
社区活跃度高,对开发者的响应很及时且各种线上线下活动很多。希望对一些好用的组件和软件包出个专门的推荐,让更多开发者选择起来更方便。
相关阅读:
【社区人物志】专访李路昌: 从普通打工人到在深圳安家的嵌入式攻城狮
【社区人物志】专访出出啊:聊一聊学习RT-Thread的方法和经验
牛人志|19岁开发者是如何成长为RT-Thread 杰出贡献者的?