查看原文
其他

从立项到优化,在RT-Thread实习我都学到了什么?

刘同学 RTThread物联网操作系统 2022-10-14

大家好,我叫刘贤良,现在大四,来自南阳理工学院,计算机与信息工程学院;是通过今年 RT-Thread 实习生项目进入 RT-Thread 的实习生,实习项目是 “ PPP 拨号上网 ”(点击前方蓝字回看文章)。


获取RT-Thread校招信息请由此入>>>

相识机缘

在大二时候接触到 RT-Thread ,因为比赛的原因,感觉裸机编程的掣肘而萌生了学习 RTOS 的想法;
在百度上搜索 RTOS ,得到了 UCOS ,FreeRTOS,RT-Thread 这些答案,当然也都去看了一眼;
作为 RTOS 的初学者,我一开始选择 RT-Thread 的理由是因为 代码漂亮因为写代码就避免不了格式,一直都很想有一种可以遵守的规范,相对于前两者,RT-Thread 给我的印象就是清晰,简单。清清爽爽的格式,简单明了的编程风格吸引了我。
当然越随着学习的深入,了解到 ENV 工具,了解到 Package 软件包,越发现 RT-Thread 在学习上的优势。在 RTOS 上的特性稳定优秀,必要的说明文档,有现成的学习代码,随手易得的组件和软件包让我觉得 RT-Thread 确实和那两款 RTOS 不一样,令我更容易接受,也让我感受到新开发方式浪潮的涌动。

机会发生

大二曾经学习使用过 Onenet 云平台,也是我最先有联网需求的开端;很幸运的接触到 RT-Thread 的网络功能是在那年的暑假,RT-Thread “ 网络编程训练营 ” 的消息被我看到了,报名需要填审核表的那种;看了看学习内容,又看了看审核要求,很忐忑的报了名,我记得在下面的申请理由中填了 “ 自己确实学习过一段时间的 RT-Thread ,虽然网络基础薄弱,但是一定会加紧跟上进度的 ” 类似的语句;

那种既希望看看大佬怎么学习,又担心跟不上大佬怕给大佬找麻烦的心理相信大家都有体验过。虽然内心戏很多,但是 RT-Thread 还是通过了审核。也因此第一次感受训练营的殷实的内容,最终顺利完成了训练营,还获得了纪念礼物;在训练营的学习中认识了 AT 组件,文件系统,网卡这些强大且常用的功能,训练营的经历给我很大的冲击,这是我是学习完内核之后再次感受到 RT-Thread 对应用开发的强大活力。

2019.6.10号,公众号照常发文章,按照常例也打算好好看看。不过今天的文章内容是“实习生挑战赛”,看完之后心情很激动,因为三个项目中第二个项目真的很吸引我,内心激动得发了简历,希望能入选。

最后,2019.6.21 号,得到了入选的通知;期间收到过大佬的电话,问了我对 RT-Thread 以及我对项目的了解,幸运得通过了审核,获得了实习生资格。

在 2019.7.12 入职,开始了我在 RT-Thread 实习的生涯。

愉快的码代码

刚来的一周左右,熟悉环境,分配了一台笔记本,安装必要的工具,拿到项目需要的硬件,看资料,还有近距离观察大佬 。

当然还有体验实习生活了,上班路上,下班路上,还有我这个位置很棒。

开始认识公司大佬,之前在代码上看到的作者,出现在眼前,心中很佩服大佬的成绩,见到真人的喜悦。


开发期间也获得了大佬的指点,大佬不只是一个人,是一群人,他们是 RT-Thread 各个领域的大牛。

实习生挑战赛整体还是很规范的,开发期间体验了一整套开发流程:

项目立项 -> 项目预研 -> 方案确认 -> 功能实现 -> 程序优化

这样的过程体验了两次,一次是 UART+PPP 项目,另一次是 USB+RNDIS 项目;

在开发过程遇到很多的问题,大佬会引导帮助我解决问题;遇到一些棘手的地方,甚至大佬还手把手教写程序。

学习过程中除了获得到知识和经验,提升了眼界,也结识了大佬本人;

码代码期间,肯定发生过很多故事,其中大佬对我说过让我印象深刻的话就是:“ 功能没什么问题,就是丑了点 ”;虽然有点不好意思,但是细下心来仔细体味,确实代码的字里行间表露的突兀的感觉,当然是在指点下修改了这些代码。

为什么我会对这句话印象很深刻呢,是因为我一开始被 RT-Thead 吸引也是因为代码风格;现在身处在这里,耳濡目染的在大佬的教导下得到提升,除了提升代码质量,一并提升的还有代码思想。

良好的代码不仅要求功能,也对设计思想有要求。冗余操作,不合理调用,功能内聚,模块解耦的思想这些都在代码的开发中得到体现;这些是我之前很少仔细推敲过的,或许在其中每一处地方都不是特别重要, 但是对于整个项目和整个结构,对于未来可能使用的人来说,却是非常重要的,我也相信这是 RT-Thread 的想要传达的。

公司的气氛很好,大佬们相互交流得很频繁,我也有幸能旁听学习;相互交流项目,时不时还会因同事生日大家坐下来吃吃喝喝一起庆祝。

当然,还有各式各样的水果和零食,还真是蛮喜人的。

得到的成果

当然,生活不止吃吃喝喝,学习还是很重要的部分;

从写项目预研报告开始,忙碌且充实的学习过程也一并开始了;

在写代码初期,Gitlab 和 Github 上记录了大佬对我的修改意见,每次都是干货满满;

其中遇到过一些问题

  • 拨号不成功的焦灼

  • 性能不达标的失望和惆怅

  • 模块莫名其妙的崩溃

  • 等等…

这些问题可能现在想起来比较清晰,当时在问题发生时,也是需要自己一点点整理出思路的,发现并且解决问题的;虽然现在看起来都是一些小问题,在当时定位和解决问题也是费了我一些心血的,现在想想确实是一点一滴进步的体现。

积少成多的成果也让人喜悦

  • 从抽象协议到可以使用的功能

  • 对接 netdev 后,用自己的联网方式测试 IOT 软件包的激动

  • 按照理论真正实现时,不是太敢相信的自己的喜悦

  • 当自己也为 RT-Thread 做了一点点贡献的时的成就感

  • 看到自己参与制作的 PPP_DEVICE 软件包发布

  • 等等…

自己也一边学习一边记录,加上平时的记录和研究,慢慢的也整理了一个多本子;

出错的调试信息,测试成功的结果,还有每个阶段的记录也积累得越来越多,自己也随之成长。

这些也组成了我实习生活的点点滴滴,非常感谢 RT-Thread 对我的帮助和提升,对自己能参与 RT-Thread 的发展感觉喜悦。

手里的设备,稍微整理一下拍摄的,哈哈,都是在这些设备上学习进步的。


获取RT-Thread校招信息请由此入>>>



RT-Thread线上/下活动


1、RT-Thread开发者大会报名2019年RT-Thread开发者大会将登入成都、上海、深圳与开发者们见面,还有RT-Thread在中高端智能领域的应用、一站式RTT开发工具、打造IoT极速开发模式等干货演讲,期待您的参与!本次大会也设立了codelab动手实验室活动,开发者可在现场体验RT-Thread给开发带来的便捷!



立即报名


2、RT-Thread能力认证考前线上培训,将于11月25日全线截止报名,如果您有晋升、求职、寻找更好机会的需要,有深入学习和掌握RT-Thread的需求,请尽快垂询/报考!学生优惠价:168/人 


学生专属报名通道


能力认证官网链接:https://www.rt-thread.org/page/rac.html(在外部浏览器打开)


立即报名(非学生)



#题外话# 喜欢RT-Thread不要忘了在GitHub上留下你的STAR哦,你的star对我们来说非常重要!链接地址:https://github.com/RT-Thread/rt-thread


你可以添加微信17775983565为好友,注明:公司+姓名,拉进 RT-Thread 官方微信交流群

RT-Thread


让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。Apache2.0协议,可免费在商业产品中使用,不需要公布源码,无潜在商业风险。

长按二维码,关注我们

点击“阅读原文”报名线下培训/开发者大会

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存