硬件工程师到底值不值钱,推荐一篇文章附下:
这里指嵌入式硬件工程师
网上看到众多网友都问了关于嵌入式系统方面的很多问题,很多都可在这里找到答案,
希望我的这篇文章能给他们以启发。也请大家不要轻易转载。
一、嵌入式系统的概念
“
”
着重理解 嵌入 的概念
主要从三个方面上来理解。
1、从硬件上,将基于 CPU 的处围器件,整合到 CPU 芯片内部,比如早期基于 X86 体系
结构下的计算机,CPU 只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实
现,象串口之类的都是靠外部的 16C550/2 的串口控制器芯片实现,而目前的这种串口控
制器芯片早已集成到 CPU 内部,还有 PC 机有显卡,而多数嵌入式处理器都带有 LCD 控
制器,但其种意义上就相当于显卡。比较高端的 ARM 类 Intel Xscale 架构下的 IXP 网络处
理器 CPU 内部集成 PCI 控制器(可配成支持 4 个 PCI 从设备或配成自身为 CPI 从设备);
还集成 3 个 NPE 网络处理器引擎,其中两个对应于两个 MAC 地址,可用于网关交换用,
而另外一个 NPE 网络处理器引擎支持 DSL,只要外面再加个 PHY 芯片即可以实现 DSL
上网功能。IXP 系列最高主频可以达到 1.8G,支持 2G 内存,1G×10 或 10G×1 的以太网
口或 Febre channel 的光通道。IXP 系列应该是目标基于 ARM 体系统结构下由 intel 进行
整合后成 Xscale
内核的最高的处理器了。
2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到 ROM
“
”
中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的 嵌入 ,比如
WinCE 在内核定制时,会有相应选择,其中就是 wordpad,PDF,MediaPlay 等等选择,如
果我们选择了,在 CE 启动后,就可以在界面中找到这些东西,如果是以前 PC 上将的
windows
操作系统,多半的东西都需要我们得新再装。
3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的 ROM 中就实现了一
“
”
个真正的 嵌入 。
以上的定义是我在 6、7 年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有
很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者
们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科
二、嵌入式系统的分层与专业的分类。
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能
用 C 和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动
层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成 CPLD 的逻辑
设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还
要靠软件。
硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握
的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C
语言。
2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分
的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它
任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大
多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水
平都达不到,这样所写的驱动在应用调用时就如同 windows 下我们打开一个程序运行后,
再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的