2020,迟到的年终总结
昨天晚上看了不少大佬的年终总结,仔细想了想,我的2020年终总结,大家引以为戒:
年度代码累计10万行,修复BUG 221个,新增BUG 109个
内存泄露21次,空指针12次,数据类型定义错误11次
单片机程序跑飞23次,造成通宵加班15次
调试单片机程序遇到HardFault异常错误29次
调试Qt程序遇到程序异常结束12次
和产品经理吵架58次,其中23次发生肢体冲突
拍项目经理马屁105次,昧着良心97次
共画板子33块,其中一版成功0块,飞线13块,板子冒烟电容爆炸9块,所幸没有造成人员伤亡
晚上加班打不到车12次
遇到公众号黑粉喷子8次
和前台妹子暗送秋波138次。
2020年,我真是太难了,展望2021年,小目标:活着!
以上纯属娱乐。下面步入正题,这个元旦假期,由于北京疫情,公司不让出京,前几天核酸筛查,刚做了2020年第3次核酸检测,这几天不出意外都应该是宅在家里。本来是不打算写年终总结的,但是想着这一年过得太不容易了,就多多少少的唠两句,整理出了一篇总结,这是我第一次写个人年终总结,也希望以后能保持这个习惯,总结这一年的得失与感悟,以及对下一年的期待。分为以下几个部分回顾吧:
疫情监控平台
STM32创客秀大赛
参与开源项目
CSDN文章分享
开发板评测
其他
疫情监控平台
这是我个人的一个开源小项目,非常适合Qt入门练手,从年初到年底,断断续续做了大半年。年初的疫情导致很多人都只能宅在家里,为了不让自己那么无聊,给自己找点事情做,我基于Qt做了一个“疫情数据信息实时监控项目”,使用腾讯新闻数据源,对数据进行JSON解析之后可视化展示,源码开源,有很多朋友就是通过这个小项目才关注这个公众号的。
后续又在桌面Linux、嵌入式Linux STM32MP1 & i.MX287、STM32F103(裸机版和RT-Thread版本)、富芮坤FR8016H、灵动MM32W3等平台上实现,ARM Linux平台移植也是现学现用,没有学习太多。
整理的开发笔记有幸得到STM32和RT-Thread官方的转发,也有不少朋友加我微信交流。因为现在国内疫情缓和了不少,国外的疫情爆发,导致API接口改变很大,如果有朋友使用源代码运行时,出现“程序异常结束”或数据不显示的问题,需要更换API接口。
STM32创客秀大赛
年初写的疫情监控相关的文章受到了不少关注,当时正好ST官方在举办创客秀大赛,我报名参与了,参加工作两年来,这是我第一次参与线下的比赛活动,使用米尔科技的YA157C开发板,移植Qt程序到开发板上。
由于疫情的原因,原本定于4月末举办的决赛,推迟到了11月20日。决赛前一段时间,又临时更换了API接口,重新写了解析部分,好在比较顺利,在决赛前完成了。
当时,上海发现了几例本土病例,我还在犹豫去还是不去?最终还是选择去了,可能和大多数技术人一样,我是一个不善表达的人,选择到上海现场参与决赛,一方面是想锻炼一下自己的语言表达、演讲能力,因为我从来没有在如此大的平台上演讲,另一方面也是因为从来没有去过上海。
决赛现场很顺利,和评委交流也比较轻松,现场见识了挺多新技术,比如基于STM32深度学习人体姿态、人脸检测,UWB定位等等。
虽然最终只获得了三等奖,奖金刚好够来回的交通、住宿等费用,但是能去一次上海,认识不少大佬,也锻炼了自己,整体来说还是很棒的体验。
第一次做轮渡,跨过黄浦江,和公交车一样。
参与开源项目
2020年比较有成就感的一件事,就是移植 RT-Thread 到我现在工作中使用的一款 FPGA 芯片——M2S010 ,该芯片属于 Microsemi(现Microchip)SmartFusion2系列,是一款混合型FPGA,片上除了 FPGA Fabric 逻辑部分,还包括一个 ARM® Cortex™-M3 内核的 MCU,集成GPIO、UART、I2C、SPI、CAN、USB等基本外设。向RT-Thread官方GitHub仓库提交了一个完整的BSP(PR:#3661),并被合并到主分支上。从6月份第一次提交PR,后续又根据审查意见进行了一些完善,在11月份被合并到RT-Thread主分支上。
BSP位于master/bsp/smartfusion2目录下,在最常用的STM32系列的上面。关于BSP的简介可以查看README文件:
https://github.com/RT-Thread/rt-thread/tree/master/bsp/smartfusion2/README.md
这是我第一次向开源项目贡献代码,而且是这么优秀的国产RTOS项目,亲自体验了从提交PR到被合并的过程,还是很有成就感的。当然,如果你也想向RT-Thread贡献代码,可以参考之前的文章。如果有读者朋友在使用这个系列的FPGA芯片,也欢迎交流。
CSDN文章分享
我一直相信,好记性不如烂笔头,在受到他人博客文章的帮助之后,也希望自己的笔记能帮助到他人。
今年CSDN共分享48篇文章,大部分文章是我工作中使用的一款FPGA芯片的使用教程,由于这款FPGA不像Xilinx和Altera(现AMD和Intel)使用的人多、资料也多,这款芯片资料非常非常少。
Microsemi Libero系列教程是全网首发,共包括6篇Libero开发环境使用教程和9篇使用技巧:
https://blog.csdn.net/whik1194/article/details/102901710
SmartFusion从FPGA到ARM系列教程,有10篇:
https://blog.csdn.net/whik1194/article/details/107104960
有使用这款芯片的朋友可以参考一下:
外包项目
由于使用的是米尔科技的YA157C开发板参与的STM32创客秀大赛,后来米尔的工程师联系到我,希望能参与MEasy HMI 2.0 项目中QML多媒体部分的开发,接了项目之后,开始学习Qt QML开发,差不多一个月的时间,完成了PC上位机的开发,实现了音乐、视频文件的基本播放和控制,图片的浏览,摄像头拍照、保存等,交付之后由米尔的工程师完成ARM开发板的移植。工作两年来,这是第一次接外包项目,我也获得了一点点工资之外的报酬。
米尔官方HMI 2.0项目的Qt代码是开源的,有兴趣交流学习的朋友,可以到米尔合作伙伴——百问科技的GitHub仓库下载代码:gitee.com/weidongshan/Qtmxapp-desktop
开发板评测
开发板评测,今年一共在面包板社区申请了三款开发板,评测文章发表在面包板社区:
https://mbb.eet-china.com/forum/topic/78968_1_1.html
https://mbb.eet-china.com/forum/topic/79535_1_1.html
富芮坤FR8016H开发板:
https://mbb.eet-china.com/forum/topic/79865_1_1.html
https://mbb.eet-china.com/forum/topic/79866_1_1.html
第一次尝试以视频方式评测开发板——Sensirion(盛思锐)SHT31智能小表:
https://mbb.eet-china.com/forum/topic/80198_1_1.html
其他
公众号运营方面,原创+非原创+转载 累计51篇,平均下来一周一篇,粉丝数量目前还没有突破1W,也没接什么广告,主要是我太懒了,没怎么更新,一直佛系运营,来年争取多多更新吧!
工作上,除了FPGA开发的进一步学习之外,也记录了几次印象比较深刻的硬件调试记录:
由于要用FPGA实现CRC计算,学习了CRC校验的基本原理
由于硬件电路设计问题导致的CMOS芯片异常发热问题
由于公司板卡三防漆选择和防护问题,导致的产品维修,整理了三防漆的选择知识
由于PCB板焊接完成形变较大,整理了电路板变形的原因
STM32晶振匹配电容太大导致的晶振不起振问题
其他,如体重方面控制的还算不错,虽然从大学到现在工作两年,一直保持在60kg,但是运动太少了,以后要多多锻炼了。
总结
最后,无论2020是多么的糟糕,它总会过去的,新的一年只会越来越好。
“惟愿山河锦绣、国泰民安。惟愿和顺致祥、幸福美满。”每一个你我,都是他心中的牵挂。奋斗的你,当铭记,你的背后是整个中国。