做为一名研发工程师,我以为得必会以下技能,方能从容立足于社会,从而立于不败之地,我称之为“七个一”工程:
会一种单片机,建议学习C8051F。
会一种Cortex-M型ARM处理器,建议学习STM32.
会一种能跑系统的ARM处理器,如三星的ARM11处理器。
会一种结构化语言,建议C语言,正统易学,嵌入式开发的最重要的语言。
会一种面向对象的语言,建议C++语言,正统的语言。
会一种软件架构,强烈推荐使用QT,一个不入window程序员法眼的东西,强大无比。
会一种操作系统,如LINUX,开源系统,十分伟大。
相关一些配套书如下:
单片机:C8051F单片机的PDF,例程。
ARM:STM32教程,北京航空航天大学出版社。
ARM11:友善之臂开发板的PDF最好,其它书皆是浮云。
C语言:相信大部分人都看过谈教授的书,还是看看外国人写的书吧,如C primer plus.
C++:那肯定就是<<C++ prime plus>>,<<C++ primer>>两本书了。
还有《C++ GUI QT4编程》。
操作系统:《现代操作系统》,红帽官方教程:《Redhat系统基础》和《Redhat系 统管理》。
如果真正看了这些书,不管是嵌入式还是计算机软件开发,做起来得心应手。
开发板:
没有开发板,学嵌入式就是一个玩笑,单片机的在网上找一款就行了,淘宝上有很 多C8051F的,
ARM的选用火牛的STM32就好,ARM11的选用友善之肩的6410就好,开发板上的 各种PDF是最好的教材,实用性很强。
技能综合应用:
嵌入式开发的核心在于软件开发,硬件虽然重要,如果不想做,市场上有的是成熟的产品开发板,主要精力就放在核心应用上,满足客户需求,给客户良好的体验才是最重要的。
嵌入式开发,特别是嵌入式LINUX和单片机程序的开发,C语言是主流的语言,学不好C语言,做嵌入式开发基本上很难,所以学习C语言,是为了开发嵌入式软件,对理解操作系统有益。
利用ARM11开发智能终端,如POS,ATM什么的,界面开发必须用QT,可以开发出有艺术感的界面程序。而QT是C++语言的一个类库,所以得学好C++,把核心算法和界面利用QT的信号和槽连接起来,开发出产品。
其实一句话,学好QT,嵌入式和计算机应用基本是通了,因为它能跨平台。
在软件开发过程中,包括嵌入式和计算机软件,必须会操作系统原理,如多线程等概念,经常在软件中利用的知识,非常重要,不懂操作系统原理,开发出的应用软件称不上好软件。
学习方法和学习态度:
必须有一个好学习态度,否则一事无成,最好的态度喜欢做这件事,热爱开发工作,只有这样才能有源源不断的动力。
好的学习方法,每天都要看几百行的程序,把例程在电脑上调调,读书破万巻,下笔如有神,还是有道理的。
看书的时候,把每个知识点看透,做笔记,不要看不完就过去,那个陶渊明说的好读书不求甚解,不要听了,他的意思是说总体把握时,不要看小细节,没有到这个地步时,要仔细学会每个细节。
最后,我希望与大家共同进步,与大学共同交流。
谢谢!
孙国栋写于济南。
2011年8月
















