本专栏写一些工作上的经验和体会,只写给自己看的,所以设为付费专栏
前言:
初入嵌入式软件工程师的职场,第一份工作选择了站到风口上的储能行业,第一个正式项目选择了前沿的无线BMS项目。算了算,从7月4日开始入职,整整工作了四个月啦。故准备谈谈自己的收获和感受。
1.工具方面
大学玩单片机主要用的是Keli5平台编程,工作换成Visual Studio Code来开发,由于大学学的STM32单片机基础扎实,进了工作,经理让我从小项目《CAN转RS485》做起,很快学会了CAN通信,RS485,RS232,以太网,上手很快,目前这个小项目代码全部从无到有。对了,还学会了一款超有用的调试工具FreeMASTER ,这个可以动态抓取变量的值,十分好用,还有一款代码比较工具Beyond Compare也好用,值得推荐!
请猛击这里–> 嵌入式开发工具推荐
2.调试方面
上手很快之后,又协助前辈完成基于UDS on CAN的bootloader,对bootloader和UDS协议有了一点理解,但这方面值得钻研,后续跟着项目学吧,然后又接手了无线BMS项目,这个项目,让我觉得自己很废,难度很高,让我深深觉得当前自己能力不足,不过这个项目理念还是比较先进,国内做这方的公司几乎没有,国内做的最多还是有线BMS的,这个项目是和英国企业合作开发的。
不过这个项目极大的锻炼了我阅读代码和调试代码的能力,大学的代码量太少了,最开始这个项目十万行代码的逻辑看不懂,里面状态机状态太多了,把我脑子就绕晕了。不过,做难事必有得。阅读代码要抓住主干,顺藤摸瓜,一个函数它在调用谁,它被哪个函数调用,不要被一些细枝末节所影响(这个是没有经验,刚接手时最容易犯的错误!),另外程序本质上就是数据的搬运,调试程序时一定要清楚数据的流向,而到底从数据正流向还是数据反流向进行调试,这取决于项目代码和具体问题。