维基解密黄菊
嵌入式开发本身也有高下之分,至少包含嵌入式应用程序工程师和底层的驱动内核工程师两种。前者同样是使用现成工具进行简单劳动,比如使用J2ME开发小游戏或者进行一些界面开发,而后者是根据芯片具体情况把操作系统(如Linux)移植到,同时编写必要的驱动程序,改写相应的内核代码。很显然后者是一个公司真正的核心技术。而技术核心的工资很可能是其他开发者的数倍。
如果想要从事嵌入式开发,必须懂的技术也挺多,它并不是天上掉馅饼的行业。嵌入式系统是软硬件结合得到东西,一般出色的嵌入式开发工程师都熟练掌握硬件和软件两方面的技术。
在搞硬件设计方面,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。对硬件原理非常清楚,擅长定义各种硬件接口。
在嵌入式操作系统和应用软件的开发。学软件的人对硬件原理和接口有较好的掌握,我们完全也可写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作,所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。