这年头不浮躁的工程比较少了,哈哈,赞一个~~~
底层,会设计电路(这个最难),不过开始不用急,学好几个经典外围凑合用着。
会画PCB,可以专业画,但是也可以业余画.......反正简单的单双层版属于必会的知识。
精通C语言,会一门汇编,相辅相成。这阶段最辛苦,不要以为C很简单,看过那些专业的程序会让你感觉到自己的C怎么会烂的那么离谱 ...... (测试一下自己对函数指针理解怎么样吧)案头上摆两本C语言教程,一本数据结构,最好顺便买本算法放到那里 ..... 这阶段耗精力,成效不明显 ....
好了,差不多该“时髦”一下,跑一下操作系统了,下个uCOS看代码,案头上又多了1-2本操作系统原理的书,好了,发现自己的C语言真的不过关,很多代码看不懂,又跑回去啃C语言 .......
操作系统的基本原理看过一遍,突然发现“噢,原来操作系统就这么一回事而已”开始动了邪念,自己写一个吧,要求不高,实现一下任务调度,时间调度也好~~酷一把~~
耗了1-2个月,慢慢挣扎,写了个任务调度器出来,噢,精力耗尽了。作品比较烂,不过敢用到项目中倒是一股勇气~~~不过醉翁之意不在酒,这过程中学到的东西是在其他地方学不到的,安心吧。
一天不懂编译原理和装载的原理,程序在你面前还是一团雾,看不透的。有两条路可以走,跟你的编译器打好关系,了解它的一切,另外一条路就是 ..... 自己动手写编译器,这个是激难的东西,够胆就把头砸进去.....他会让你知道什么叫程序,什么叫算法.....
另外,作为新手,手工反汇编是必须学的,将一个一个机器码翻译成汇编指令。学完这个发现汇编编译是怎么一回事,CPU执行指令是怎么一回事,大有裨益。虽然很多人不学汇编,不过汇编是好东西,在汇编的世界有着跟C很不同的写程序处理办法,所以用起来很别扭,不过到某天你冲破这种障碍的话,那是很惬意的事情。
到了这个阶段,会很自然有种会回头的了,真正难的是硬件设计,模拟电路,数字电路,两们当初可能被很多人忽视的物体。这才是根本。
在学习的过程中难免要接触一些外文资料。在中国书籍“天下一大抄”的情况下,真诚的奉劝大家去看原文资料,编译器的文档,芯片datasheet等,有空就不要玩那么多游戏,去逛逛外国网站,看看人家怎么做东西的。
最后,想怎么检验自己合格了?
1,最多一个星期的时间,学会一种以前没有接触过的,新的单片机。
2,拿到一个芯片,根据一份英文的datasheet,在不参考任何程序的情况下,将这个芯片给驱动了。
3,不是抄板,是设计外围电路,将每个元件的模拟特性,频率响应,时序什么乱七八糟的东西默念在心。
不知道这些东西有多少人能做到?有多少人能坚持做到?,不用多想,每天需要做的事很简单,看一遍《不要做浮躁的嵌入式工程师》,然后埋头去写程序,去捉虫(debug),然后去整理程序,将实验的东西抽象升华为经验。最后就是,不断的积累 ......
以上说的是单片机 ......
如果有意转ARM,DSP,FPGA 等的话,有好心理准备,等待你的将会是不知多少个难关 .....
这个就是嵌入式,一个外人看来神奇,内人看来痛苦,不过如果你看到驱动两个LED闪动的时候,会有种莫名其妙的兴奋的话,那欢迎你,咱们是同类。
一时感触,写多了,怎么自己毕业一年多就变成完完全全的大叔了? ......
OTL ......X1000000