一、嵌入式技术的发展
嵌入式系统的出现最初是基于单片机的,这时的应用只是使用8位的芯片,执行一些单线程的程序,还谈不上“系统”的概念。之后的嵌入式系统开始使用“操作系统”来编写嵌入式应用软件,这也是“嵌入式系统”出现的时候。
操作系统是一个实时的“内核”,这个内核包含了去多传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、终端支持等功能。
Vxworks公司生产的嵌入式操作系统是世界比较出名的,系统内核很小,具有可移植性,可以移植到各种处理器;另外一点就是具有较强的实时性,适合嵌入式应用。这就标志着嵌入式实时多任务操作系统的出现,使得应用开发人员与硬件开发人员得到解放和区分。我们所介绍的Linux不具有实时性,但是Linux操作系统具有运行效率高,系统稳定的特点。
对比单任务操作系统,多任务操作系统更加符合现代生活的需求,例如现今的智能手机能够在后台运行多个应用,并且具有很强的实时性,而非智能手机只能同时执行一个应用操作。
二、嵌入式系统的结构
1、操作系统的功能:
(1)多任务机制:可以同时在后台运行多个应用程序
(2)提供了丰富的网络协议
(3)提供了开源软件和库
(4)用来隔离软硬件
2、嵌入式操作系统
具有可移植性、代码开源、提供可移植接口的操作系统可以作为嵌入式操作系统
三、嵌入式的开发方向
(1)嵌入式上层应用软件开发:
精通一门语言、熟悉一款操作系统(会看说明书)、掌握数据结构/算法
(2)嵌入式底层系统软件开发:
精通C语言(所有操作系统内核都是由C语言+汇编语言开发的)
理解操作系统的实现(会使用,也会添加/修改该功能)
熟悉硬件的工作原理
熟悉汇编语言
(3)采用C语言进行操作系统内核设计的原因:C语言有指针类型数据,能够直接访问硬件,移植性好,运行效率快。