嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。
一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件
设 计 , 有 时 要 开 发 一 些 与 硬 件 关 系 最 密 切 的 最 底 层 软 件 , 如
BootLoader、BoardSupport
Package(像 PC 的 BIOS 一样,往下驱动硬件,往上支持操作系统),最初级的
硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义
各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复
杂应用软件等)。
另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用
软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握,我们完全
也可写 BSP 和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实
现了,嵌入式设备的增值很大程度上取决于嵌入式软件,
这占了嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件
公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,
很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很
大程度在软件上,在软件方面是最有“花头“可做的),
所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能
设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。
从事嵌入式软件开发的好处是:
(1)
目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不
仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求
较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件
的工作原理,所以非专业 IT 人员很难切入这一领域另一方
面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正
在出现(如 ARM 处理器、嵌入式操作系统、MPEG 技术、无线通信协议等),掌
握这些新技术的人当然很找。嵌入式人才稀缺,身价自然就高,越有经验价格
就越高。其实嵌入式人才稀少根本原因可能是大多数人无条
件接触这需要相应的嵌入式开发板和软件另外需要有经验的人进行指导开发流
程。
(2)
与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不
低)。搞企业应用软件的 IT 企业,这个用户的系统搞完了,又得去搞下一个用
户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,
重复劳动。相比而言,搞嵌入式系统的公司,都有自己的
产品计划,按自己的节奏行事。所开发的产品通常是通用的,不会因客户的不
同而修改。一个产品型号开发完了,往往有较长一段空闲时间(或只是对软件进
行一些小修补),有时间进行充电和休整。另外,从事嵌入式软件的每个人工作
范围相对狭窄,所涉及的专业技术范围就是那些(ARM、