最近有点失眠,可能是人到中年,事业生活的压力有点大。于此同时楼上还有一个专在凌晨高歌的邻居,让我变得浮躁难以入睡,想着与其躺在床上烦恼,不如理理自己的思路,起来写写文章,说说自己在这几年的嵌入式开发过程中走过的路遇到的事。给一部分渴望嵌入式开发,但是还满目迷茫的朋友们一个借鉴和参考的反面教材。纯属瞎编,不要太认真。
如果你问我嵌入式是啥,我会告诉你我也不知道。 上关于这个的定义很多,感兴趣的可以自己查查,我就不说了,反正别人说我干的这个工作叫嵌入式软件开发,而且找工作一直找的都是嵌入式软件开发,真尴尬!
到目前为止,满打满算工作有6个整年头多4个月了。在这六年里一共换过两家公司,现在是在第三家,想知道在哪吗续往下看说不定心情好了会说。
第一家公司是做医疗产品的像什么电子体温计,电子血压计,电子助推器等等,是不是比较low(我现在看起来是的)。我呢是一个科幻迷,所以对于这种自动控制有着天然的兴趣和爱好,奈何本人脑子不够使,技术能力一般,又由于刚毕业,加上一些客观原因,就比较随意的找了一个能养活我自己同时自己又喜欢的开发类工作(在我眼里开发可以创造和创新)。当时自己简历写的是想从事嵌入式软件开发工作,后来我才知道那个准确来说叫做嵌入式单片机软件开发。那在工作中是干啥的呢,我一开始以为是使用C语言进行单片机软件的编写,实现产品的开发(电子体温计,电子血压计,电子助推器),并且自己可以天马行空的想象,然后用代码通过单片机实现一系列炫酷的工能,比如电子体温计各种智能操作,想把一个体温计做成一个火箭的心都有了。后来现实是真的给力,打脸打的猝不及防。我入公司之后,用的是汇编代码(是的2016年的时候还有用汇编的),在一个8位的单片机上修改血压计的代码,增加个什么定时功能啦,现实界面变更一下数值显示啦,加一个LED背光屏功能啦,没事的时候整理整理什么送检资料啦(产品认证时需要的资料)。呵呵哒!可想而知我干不长,这份工作我做了7个月(也挺长时间的是吧!愚蠢的人类,我可不是白干这7个月滴!)。虽然第一份工作只持续了7个月,但是在这7个月里我还是有些收获的。那就是凭借大学学习的的微机原理、单片机、C语言的粗浅知识,加上度娘的加持,深入的了解了下单片机汇编语言的使用,最主要的是近距离的了解了单片机原子化的执行过程和步骤。这个功劳要归功于汇编语言(除了机器语言距离单片机最近的编程语言了)。
看了上面你有啥感受,有啥重点吗点是我阐述了单片机软件开发,也是嵌入式软件开发的一个分支(至少我是这么理解的)。这个结论是重点吗不是。重点是单片机软件开发没你想的那么难,你看看开发的功能也就是点点灯、定个时。这个结论是重点吗不是,重点是单片机开发居然用汇编语言,这是因为成本的问题,现在基本都是C,所以不要被我带偏了,实际上单片机开发目前主流是C语言。这个是重点吗吧还不是。好吧!下面说真正的重点:嵌入开发里面的一个分支单片机软件开发,实际上就是用C语言编写单片机能运行的代码,通过代码运行逻辑控制相关的外设执行响应的功能。所以在这里你需要掌握C语言,能编写逻辑代码。需要掌握一款单片机,能够使用这款单片机的基础封装资源(IO、中断、定时器,串口,SPI。能够熟练使用这些基本够用了,复杂的以后再说),以及一些常用的单片机外接设备的驱动方式(按键、LED、点阵式液晶屏、电机、无线模块、外扩flash、外扩ram)。如果你想未来成就更高一点,建议你最好学好微机原理,用微机原理的知识结合一款具体单片机的汇编语言研究一下单片机是怎么执行你的逻辑的(实际上挺有意思的)。关于C语言和汇编语言的关系看我的另外一篇博客,叫啥名我忘了,嘿嘿!
好了今天先说到这吧!快一点了,要去睡觉了,明天还要搬砖,后面的有空再写,还有两部曲,如果你着急想了解后面的东西,可以给我留言,我看见了我就会有动力更新了,或者等我一段时间我自己也会更新。由于写的时候,时间比较晚,脑子比较混沌,有错别字或者语句不通的地方麻烦看见了帮我指正一下,谢谢!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!