嵌入式硬件工程师 VS 嵌入式软件工程师
大家一起聊聊嵌入式硬件和软件的长短处,各方面的都可以,我先发表下我个人的看法:
做硬件的需要掌握的知识:
模电,数电,高频,绘图软件如ORCAD,PADS,EMC,EMI,各种安检如FC,EC等,处理器的
架构,各种协议如IIC,SPI,USB,IIS,UART等,NAND,NOR,SDRAM,DDR,DDR2的
区别及接法等,最重要的是焊接水平要过硬,小到0805,0603,0402的电阻
电容,以及SOP,QFP封装的密脚IC,大到BGA,都要能焊。具有很强的硬件电路,高频,
高速电路的检测排除故障的技能。
做底层软件的需要掌握的知识:
C语言,C++,系统架构如WINCE,数据结构,各种通讯协议,还要对硬件有很大的了解
感觉做硬件的需要掌握的技能:在ADS或MDK下调试程序的技能,使用仿真器排除故障的技能,
能够看得懂底层驱动程序,能够写底层驱动程序来解决,分析硬件上的问题。只是很多公司
的软件硬件分得很明确,搞硬件的不能碰软件。
以上乃抛砖引玉,各位大侠进来发表下看法
[解决办法]
老大们
硬件也很NB的
电磁兼容、高速PCB、布线经验.......
没有硬件工程师你们的产品怎么过那么多国标的
而且以前把单片机程序都划到硬件里
只不过现在嵌入式驱动又被划到软件中
这个因公司不同而定吧
总之都是吃力不赚钱的活
[解决办法]
软件要学的东西也有一大堆的.
1.数据结构
2.操作系统
3.数据库
4.网络通信
5.图形图象
6.各种语言-----汇编/机器码/C/高级语言
7.编译原理
8.各种类库-----WTL/MFC/C运行时库
9.系统接口-----WINDOWS下的API/LINUX下的API调用
10.各种IDE开发环境
11.计算机接口技术
12.计算机组成原理
上面那一个方面,不下功夫能有成就吗?别人大学里面就很牛是别人下了工夫.为什么很多计算机毕业的学生都去做其它的行业了?因为要真正学好软件方面的东西并不容易!
再说软件方面的东西更新多快,新技术新IDE不断出现,做软件的永远都是要学习的.
看WINCE的版本----4.1/4.2/5.0/6.0更新有多快?
看IDE-----------VC++6.0/VS2003/VS2005/VS2008更新有多快?
但硬件的东西都很死的!
[解决办法]
不管是硬件,系统还是应用,深入了都很难,只要搞精通了都是牛人
软硬通吃的人有,但都精通的人极少,一门技术不沉下去搞个3~5年是很难搞通的
想当然认为硬件简单的软件工程师一般都没有吃透软件,
认为软件简单的硬件工程师也常常也没有搞通硬件