至今,在嵌入式方面我仍然是个小白。目前大二,学习嵌入式有一年了。当然,这一年是磕磕碰碰,断断续续,迷茫和不知所措也围绕着我,让我感到非常的苦恼。有一段时间甚至觉得这是无意义的,自己的激情都浪费在了如何定方向,走哪条路线上了,结果一年下来,什么都没学到。
在网上找了很多的新手入门路线之类的博客或帖子,还是受益匪浅的,很多路线都是一些在嵌入式行业做了多年的工程师写的,我这里总结一下,供新手们入门使用,在这里我要多说一句,入门的时候,不要想着哪条路是最好的。如果你还在纠结三条路中哪条路最好,那么你就会像一年前的我那样,徘徊在三条路上,最终一无所获。建议认定一条路走到底,等你到了一定水平了,就可以按照自己想走的路走了。言归正传,来总结一下路线。
1.大多数人都建议首先搞好C语言基础,这是重中之重。在这里就不讨论C语言是多么重要,推荐给大家几本书和一个网站:《C语言程序设计》谭浩强,这本书能够让你入门 或者《C Language Programming》 [美]Brian W.Kernighan,Dennis M.Ritchie,这本书是非常经典的,《C和指针》,这本书讲的比较透彻,《C专家编程》,这本书进阶了。网站有:http://learn.akae.cn/media/index.html,这个网站讲了linux下C编程。如果有精力建议大家还是学习一下数据结构,可以看一下清华大学严蔚敏的《数据结构》,这本书看完就可以了。
2.了解计算机组成原理,大家可以去网上找《计算机组成原理》这本书。
3.熟悉linux系统,可以看一下《鸟哥的linux私房菜基础篇》这本书。比较厚,讲的很全面,讲解的知识不必都懂,用到的时候能够在这本书上顺利找到就可以了。另外,鸟哥的网站上可以免费在线阅读这本书,网址是:http://linux.vbird.org/
4.熟悉在linux下的编程,可以看一下《UNIX环境高级编程》这本书。
5.了解一下数字电路,可以看现在大学的教材《数字电路》,有精力的话可以再了解一下模拟电路,这就是所谓的数电模电。就算你只想做嵌入式软件开发,也必须能够看到数字电路图和简单的模拟电路图,这样才能够编写出正确的程序来。
6.在51单片机上编程,这个可以买一套郭天祥的51单片机,他会配套送很多资料。郭天祥的资料还是很不错的,讲的也很透彻。跟着他的教程学就可以了。最后能用51做一个项目出来就算过关了。
7.可以学习ARM了,虽然51与ARM过渡有点儿大,但是你会适应的。买一块ARM开发板,然后跟着视频教程学,最终做一个小项目就可以了。
到现在,我觉得你已经入门了。接下来的路怎么走,就要看你个人的兴趣爱好了。一般来说嵌入式开发分为应用开发和底层开发。应用稍微简单一些,与在PC上做应用开发只有很少的不同。底层开发多数是搞驱动开发或者中间件开发的,这是比较难的,而且遇到问题之后不容易找到人解决。决定好了你的方向之后,就可以开始你的新的征程了。
本文只是起到一个引导作用,这条路不一定是最好的,但是最起码他能在你迷茫的时候有路可走。只要你能坚持下来,你一定会成功的。希望所有对嵌入式开发感兴趣的朋友分享一下自己的学习过程,让我们这些小白们借鉴一下。
参考资料:
循序渐进学习嵌入式linux开发:http://www.360doc.com/content/10/0902/20/1325155_50733085.shtml
如何学arm linux嵌入式:http://blog.csdn.net/cuiy0001/article/details/7971202