对于电子信息专业的同学,完全可以按照以下路线来学习嵌入式开发,由浅入深,从软件到硬件。
C语言
C语言是学习的关键,有了扎实C语言基础,下面的所有模块都会顺风顺水。学习C语言切记不要停留在表面,就像问很多同学const关键字的作用,他们会脱口而出“修饰常量”。学习C语言,不仅要搞懂常见的关键字,还要把指针运用的行云流水。
算法
嵌入式开发需要算法吗?那是当然了。一些基本的数据结构:链表、栈、队列必须得掌握,就算是为了应付笔试,也得把常见的算法消化。
void f(){}int main(){ f(1, 2);}
这行代码在C语言中有问题。(C语言支持这种用法,C++不行)
还有C语言中的内存管理、强制类型转换,在学完C++后,你会发现他们确实处理的不好。
嵌入式应用开发也常有C++的身影,比如嵌入式图形界面QT。
学习C++还能让你多条出路,就是后台服务器开发甚至是游戏开发,从此开启程序员之路。
51单片机
这块绝对是自动化同学的强项,大二的时候就开始接触51单片机,只要是参加比赛,51算是入门级的芯片。不过只掌握51单片机确实远远不够,实际应用少、性能一般,解决不了复杂的问题。
STM32
高端的单片机,比如市面上常见的智能硬件,就有STM32的影子,靠它找份工作,还是有可能的。
ARM
最后一步就是ARM,也是这三种芯片里面性能最好的,可以跑Linux系统。到了这一步,你会接触到交叉编译、UBOOT、内核、文件系统,这才是真正的嵌入式开发。
楼主最近还看过