|
1.硬件设计+PCB设计
# B3 o5 Q& g$ A, n/ z8 @这是你的基本功,也是你日后保证有饭吃的能力,要长期积累,不断学习提高.
! y) X7 v$ V2 @! u) Q单纯做硬件设计或者单纯做PCB设计都会让你在某些方面知其然但不知其所以然,所以二者最好都做,一般小公司就这样! U: R( B; N u7 `8 u
2.单片机C编程
$ S- L7 O! C* y! _$ U" V- h注意你的重点是理解单片机各个模块的功能原理,不是搞单片机开发,不是去写应用程序,那样你永远不是软件工程师的对手.
, U1 a# b* _& a; k( }学习这方面的知识是帮助你更好的理解单片机的硬件电路,以及调试电路.比如软件工程师告诉你,单片机的SPI接口异常,那么如果你没有写过SPI的简单程序,只看Datasheet查找原因得话,会看的你一头雾水,而且你要用示波器等测试SPI接口发出的数据,事先得清楚如何控制这个接口,如何让它发送数据吧.当然你可以要求软件工程师这样做,但不仅繁琐,而且会被BS死
1 E) m' r4 ]8 ]' o! R3. 嵌入式系统编程(汇编+C)* s- _8 j5 L0 y" o6 b8 V
这方面比较难,但是你提高能力的关键.在满大街都是搞单片机的人这一客观事实前,想要钞票多多,就得提高难度了,当然你可以去搞什么芯片设计或者VHDL设计之类的,我只是说搞嵌入式设计8 r5 Q7 @& l7 D
还是那句话,你的重点是硬件设计,所以嵌入式编程也是为这一点服务的,不用去做操作系统设计或者应用程序设计,因为你没有那么多精力.当系统出现问题了,你得能查找原因,比如ARM9的芯片BGA封装,其中一个GPIO引脚虚焊,你如何确定?起码你得会编程(不要操作系统裸奔即可),会操作这个引脚.其他诸如SPI,IIC等常用模块,也要知道如何编程操作,以方便你调试电路.+ S8 ^# x# |4 N( Q* I; j- J# a
|
|