学习嵌入式真的有捷径可走吗?
扫描二维码
随时随地手机看文章
工作中,很多人问我,怎样做才能快速的嵌入式了? 其实,做工程是没有捷径可走的,下面我结合我的情况实际给你简短的说一下:
先说做硬件:
把你的数字电路教材和模拟电路的教材读熟,暂时先把重点放在数字电路上面,接着把微机原理和接口技术读熟悉了,最好能用汇编写几个简单的程序上机调试一下,这是很重要的。
完成上面的工作大概需要半年,不管你有多么的聪明,除非你以前这个基础就打的不错,否则,还是老老实实花上至少半年的时间!还是那句话,没有捷径可走,如果你相信那些什么“21天学通xx”什么的,那么我告诉你,放弃做工程吧!再说,你这么容易就学会了,别人也能的,你确定能拿到高薪吗?
下一步,就是选择一个DSP(或其它的嵌入式CPU)平台作为你的目标平台,先熟悉它的架构和与外围电路的接口,然后学习她的指令集,也要写一些小程序去跑一下。这个时候,你应该去买一个开发板了,一般的厂家附带会给你一些demo程序,看懂它,理解它,修改它,在你的板子上跑一跑。
完成上面两步,说明你已经入了这个行业的门了,下一步,想成为高手的话,就是自己去设计一些项目了,这个阶段所花的时间每个人都是不同的,要看你的造化(主要是前面的基础是否牢固)了。
再说说软件:
在嵌入式行业,你想做软件开发的话,没别的,那就深入理解C语言,尤其是C的指针,如果你以前学过C,但是没有意识到C相比其它的高级语言的优点的话(不是听别人说的,你自己的体会),你可以按下面步骤来理解C:
1、重新翻一遍C的教材,记住一些常用的C语法,但不要死抠语法;
2、从编译器的角度来理解C;
从编译原理的角度来理解你工作中使用的高级语言,如果你做到这一点,至少有两个好处:
第一个好处是避免一大堆低水平重复出现的编译错误。一名优秀的Coder平均在一个工作日中应该完成200行以上的源码,其编译错误应该控制在5个以下,要知道这200行源码不是一次完成的,所以大多数情况下你都要追求一次编译通过;
第二个好处是可以提高源码的可读性和效率。规范地编写你的代码使你自己的逻辑清晰,因为你明白多加几个括号和空行、多换行对齐、多注释,编译器是会自动识别的,不影响程序执行的效率,反过来,控制好递归调用和循环内的if语句才是提高程序效率的关键,要全力避免递归,但要深刻理解递归,能通过自己建立堆栈来把递归程序转换成非递归程序,要求还是较高的哦!
3、从硬件的角度来理解C。
完成上面3步,你就是C的高手了,接下来应该去看看软件工程方面的书了,这个我还不太懂,不敢妄言。
另外说说教材的选择:学一门东西,选好你的教材,只要一本就可以了。坚决防止这种情况的出现:去图书馆借很多本书,像抢劫似的,而只是每一本都翻翻,就又还给图书馆了的!注意上面我把汇编语言放在硬件学习的板块里面,是由于汇编跟硬件的关系太紧密了,以至于是先学汇编还是先学习硬件电路和CPU架构成了要分清到底是“先有鸡还是先有蛋”的千年哲学难题了。