一、软件方面的知识:
1、嵌入式微处理器结构与应用:
传统的“微机原理与接口”课程,嵌入式是软硬件结合的技术,搞嵌入式系统的人应对ARM处理器工作原理和接口技术有充分了解,包括汇编指令系统。不了解处理器原理,就没办法写出驱动程序。在嵌入式开发的一些关键部分,如Bootloader等,主要靠汇编写程序。
2、嵌入式操作系统类课程:
从事嵌入式系统的人至少须掌握一个嵌入式操作系统(当然越多越好),目前最重要的RTOS主要包括:
(1)、传统的经典RTOS:最主要的是Vxworks操作系统,以及其Tornado开发平台。Vxworks出现早,实时性很强,并且内核可极微,可靠性较高。特别在通信设备等实时性要求较高的系统中,有比较广泛的应用。
(2)、嵌入式Linux操作系统:嵌入式Linux广泛应用的原因当然是免费、开源、支持软件多、支持者多,成本也低。
(3)、 Windows CE嵌入式操作系统:Windows CE是微软的操作系统,也有很大的市场份额,特别是在PDA、手机等界面要求较高或者要求快速开发的场合。
3、嵌入式开发的其它相关软件课程:
(1)、数字图像压缩技术:嵌入式最热门的应用领域之一,要掌握MPEG编解码算法和技术,如DVD、MP3、PDA、高清电视、机顶盒等都涉及MPEG高速解码问题。
(2)、通信协议及编程技术:大多数嵌入式设备都要连入局域网或Internet,所以首先应掌握TCP/IP协议及其编程;另外,掌握无线通信协议及编程也是是很重要的。
(3)、网络与信息安全技术:如加密技术,数字证书CA等。
二、硬件方面的知识:
模拟电路、数字电路、计算机组成原理、微处理器结构、单片机等硬件课程是从事嵌入式开发要掌握的。
嵌入式本身就是从单片机发展过来的,如今很多单片机都已经带OS,嵌入式开发领域,驱动人才非常缺乏。写驱动必须掌握操作系统的内部工作原理,包括相关的硬件知识,即所谓的软硬通吃,所以这方面的人才是一将难求。