我的嵌入式之路(续我的编程之路)

今天整理电脑,还顺便整理下一部分博客。

之前有在chinaUnix 写了几篇博客,后来没做Linux了就没写了,然后的然后还是觉得csdn 比较通吃。不管是嵌入式,还是android驱动,应用都会一直用,用的概率大。

最早的一篇博客是写自己的嵌入式追求的,只是可惜后来没做嵌入式了,今天突然想把博客续写。只是不想再在chinaUnix上续写,因为用的少,自己都看不到

其实叫我的嵌入式之路比较合适,只是当时觉得自己一定会做Linux而已,或者非linux不做而已

想迈向linux编程之路(我的嵌入式之路)2012-12-13 13:41:58

2010年大二寒假买了个单片机开发箱,开始了嵌入式的学习,大学生活从两点一线变成了三点一线。我把三个点里第一个点设置为实验室,同学问我你是住实验室的么?我回答,没有,但是实验室是我家。现在是大四上学期12月份,同学们都开始找工作实习了,可能是我的脑袋不好使,我非常想学习linux,所以我报了一个厦门的嵌入式的学习培训机构。或许不是很正确,但是我的性格就是会去做很想做的事情。之前经常在QQ空间发表一些对学习的感觉和感想,,我也不清楚什么时候就开始不玩空间了,感觉QQ空间这个圈子很怪,因为想学习linux,看了《鸟哥的私房菜》蛮喜欢鸟哥比较随意的语言,他在书里说是因为有唠嗑的习惯才开始写的书。我也喜欢说话,描述,后来我发现说完就没了,于是我写下来,再后来我发现本子容易丢,然后我写在电脑里,看着网上好多人写博客,我决的写在博客里的笔记蛮好。我的嵌入式学习历程1、步入校企联合实验室我发现我周围的人对嵌入式的定义比较高,一般说嵌都指上了操作系统系统的。但是我的标准比较低,我把跑芯片程序都当成嵌入式软件,画电路板当成嵌入式硬件,哈哈,这么划分的话我的两年的实验室生涯就都是嵌入式学习了。10年年寒假开始接触单片机,11年暑假参加电子设计大赛,那时什么都不怎么懂运气比较好拿了个省三等奖,我开心的到处说。有一个老师和我说,小声点说了丢脸。后来我就离开了原来的系实验室去了校企联合实验室,跟在了该老师直到现在(毕业),因为我决的他很牛逼。有句话说读万卷书不如行万里路,行万里路不如名师指路。(和我一起在实验室呆了两年的小伙伴说:“名师指路不如仙人指路”。嘿嘿,我们总是自娱自乐)2、离开51——(stm8s105c6)在校企联合实验室,做的第一个项目是帮本土的一家企业修改 STM8S105C6 的代码。设备是一台机器。当时很纠结也很激动,开心。非51的单片机,非keil的开发环境(IAR)。我记得当时STM8的材料不多,反正我找到的不多。第一次看起了MCU的手册,以前学51单片机都没看过手册都是看书的,说实话手册里好多东西决的硬邦邦的确实没有经过别人消化过的书好接受,看着各种寄存器的名字就决的晕晕的,都是缩略的不懂原来的意思,于是开始看起了英文手册,也就开始用起了“有道词典”和“林格斯词典”。我觉得有道词典的屏幕取词比较强大,而林格斯的专业术语翻译的比较好(是谷歌引擎的)。还第一次用起了仿真器,嘿嘿,现在有点离开不了仿真器了。走出51确实学到了很多东西,有一点到是实在话不管在哪个实验室都是自学就是了。慢慢的接触英文文档从开始的排斥到接受到有点喜欢英文直接的描述风格。头文件的阅读之类的。3、接触操作系统(zstack OS ucos-II)后来自己又跑了,STM32,ARM7。然后实验室来了批zigbee实验箱。说起这个实验箱,玩了好久好久。(好坑爹的说)说真的我玩了两个月没怎么弄懂,然后就寒假了,寒假继续没弄懂。MCU是CC2430,CC2530。跑了tyos,和zstack。重点学zstak,横竖买了七八本书,2011年当时网上能买到的介绍zstack的书我基本都买了,然后什么outman的笔记,之类的看了一大堆。一直没明白,当时只知道那是个协议栈,没接触过系统,压根没注意里面的OS,就那么傻傻的看来看去看了两个月。然后知道应用的时候里面只是当成OS就行了,因为没有操作系统的认识。开始学起了ucos-II,学起了数据结构,那是大三第二学期了,刚好又开了计算机网络的课程。当时觉得计算机网络的课很好接受里面介绍的协议,节点,端口啥的也都和zstack符合上了,学了ucos-II一两个月后回去跑zstack确实觉得其实没什么。(简单的跑的话)跑zstack就当成一个微系统跑就是了,比较区别的是他的任务间通信,有本地的通信还有异地任务通信(linux里也是这样子的本地进程通信,网络进程通信)。4、迷茫的插曲——状态机与PLC大三下学期会跑zstack后差不多快暑假了,我开始迷茫了,我不懂接下来要干嘛了,我不想再参加比赛了。我也不知道我在想什么,我开始担心起了前途,思考起了人生。我的生活总是这么有意思,这么的有联系。大一最早借的一本书是《电子设计从0开始》,借了两次,共看了两章。没看懂,大一暑假借了一本书叫《可编程逻辑控制器》(别人都借单片机,我叛逆想来个不一样的),那时在厦门的一家工厂打工,每天晚上看几页,晚上睡觉当枕头,一个月后,看了半本,没看懂,就记住了个母线,忘记了是什么系列的PLC。在一本ARM7的ucos-II的书里提到编程的状态机,然后一些场合听到别人说状态机,买了《嵌入式系统的微模块化程序设计:实用状态图C/C++实现》,买这本书是因为我想学C++但是不想学MFC。想在嵌入式的环境学习C++。结果并没有如我所料,反而是里面的理念让我看的很闷,因为联系的必须又看起了UML,然后一次在车上我和老师再交流时,我说最近再看状态机,老师说状态机只是一种理念,确实是这样子。因为担心毕业的就业,我开始各种着急,我决的比现在急多了,知道有个亲戚是PLC的工程师后,去拜访他,回学校后,我买了个二手的西门子s7-200的CPU,就风风火火的学起了PLC,好贵的PLC,跑了一个多月,图形编程和指令编程。在PLC的编程里我真正看到了状态机的编程理念和实现,一个状态在条件触发时转向另外一个状态。在我的感觉里,PLC的编程完全是一个状态机理念的实现,当然经验编程法我是不怎么会也没花精力去学。指令编程有点类似于汇编语言的使用,一步一个脚印的逻辑。我决的我当时是这么认识的:嵌入式的编程理念是,任务间不干扰不阻塞。PLC的编程理念是,状态机。5、接轨回实际项目校企业联合实验室来了个大项目,老师问我现在怎么打算,我说打算跑跑PLC,然后学学linux。毕业四五年的工程师学长说,你的PLC基础已经打下了,真要干这行的话去企业里面干吧,自己跑跑不了什么了,模块又那么贵……其实我也决的,于是我参与了校企的一个新项目前期我负责用C#写测试代码,测试原来系统的协议命令。接着负责用STM32设计一个模拟量采集器(项目一部分),设计过程工程师全程指导,这也是我自学了一年半后正式的长时间的被指导。全程的跟下一整个项目,包括需求分析,现场信号特征测试,设计电路,画电路板,写代码(用库写),生产,测试。C#上位机测试代码编写。嘿嘿在协议的编写上我用上了状态机。(不好是不必要的就是了)6、决心学linux一直想学linux,但是一直没有真正花时间去学,只是偶尔的了解和接触,对linux没有概念,但是想从事嵌入式学下linux是很必要的吧,现在linux那么火。还有主要是之前一直被前几届的人说linux很难,很难。所以也有点恐惧,怕自己没学会linux照成啥都没学到,但是现在感觉自己接触的知识差不多了,可以学这个系统了,很想去,纠结了一段时间决定去培训。决定去培训后的几天里正式的开始花时间在linux上,感觉好像也不是那么难比那些微系统麻烦些就是了。按我现在的认识,linux开发分三块内容:1、linux环境操作(可以归于编程环境的熟悉,就是个比较麻烦的KEIL,IAR的意思)。2、应用程序的编写,在操作系统空间,应该就是和C#下写代码差不多,声明头文件,调用函数。3、驱动程序的编写,这块内容我还比较模糊,昨天简单的翻看了下《linux设备驱动程序》。按书里讲的就是在内核空间上编写。就是根据内核的特点把裸机下的驱动整过来。

续写(2015年1月18日 其实我觉得很有必要续写下去就是我的真实情况)

7、2013年6月8号大学毕业并且5个月的培训完毕(2013年6月28号),花了万多的钱,越发的自信。至今回想起来仍觉得有爱,并且耿耿于怀

应届生的面试是痛苦的,大学学的那么努力还花钱去培训,为的是什么,或许那就是初衷,抑或是最初的梦想。

去旅行不在于记忆,而在于当时的那份心情。

我的嵌入式之路(续我的编程之路)

相关文章:

你感兴趣的文章:

标签云: