目录

第八章-嵌入式软件系统

目录

第八章 嵌入式软件系统

1 嵌入式软件

划分为嵌入式系统与嵌入式软件。前者为硬件,后者为软件。

嵌入式软件有以下几个分类:单线程程序,事件驱动程序,多任务程序。

其中单线程程序包括循环轮询系统,有限状态机。

事件驱动程序包括中断驱动系统,而多任务系统包括单机多任务系统和分布式嵌入式软件。

嵌入式软件系统是应用程序和操作系统一体化的程序。嵌入式系统软件的研发与硬件的设计密切相关。

嵌入式软件系统还要有快速启动,出错处理和自动复位能力。

2 单线程程序

没有主控程序,用于简单有限任务,多用于工业控制和流水线生产。

优点:程序简单,执行效率高。缺点:一旦出现故障,无法自动进行控制与恢复,安全性较差。

3 事件驱动程序

常用中断为事件也称中断驱动程序。循环轮询的主程序:控制中断响应程序,可看成简单的嵌入式操作系统。

中断管理包括中断响应错误的处理和优先级:多个中断同时发生。

安全性高,性能好。

4 单机多任务系统

多任务操作系统

更多的任务+多个中断处理过程:存储的分配与管理,IO的控制与管理,多个任务或中断请求同时发生。

无法用中断服务系统完成,需要嵌入式操作系统。(任务的切换、调度、通信、同步、互斥、中断管理、时钟管理,嵌入式数据库,嵌入式GUI)

常用嵌入式操作系统是RTOS。

5 分布式嵌入式软件

它是互联网时代的嵌入式系统,具有移动计算能力、随时在网能力。它是用嵌入式操作系统+嵌入式数据库+网络通讯协议+应用支撑平台。可以是网格计算节点,甚至构成云计算。

6 嵌入式软件组成

单线程程序:主程序形式,服务与应用合成在一个程序中。

事件驱动程序:主程序形式,包含服务与中断服务;应用以中断服务形式出现。

单机多任务系统:系统软件是操作系统,应用软件是独立存在于操作系统外。

分布式嵌入式软件:一共有三层分别是网络操作系统,嵌入式中间件,应用软件。

7 嵌入式软件开发

软件工作量约占全部工作量的80%。

嵌入式操作系统:ucos/II,Vxworks,Windows Mobile,嵌入式linux。

嵌入式中间件:GUI、数据库、平台化。

嵌入式应用软件:应用于国防、工控、家用、商用、办公、医疗等领域软件。

8 嵌入式操作系统历史-发展阶段

嵌入式操作系统的发展主要经历了以下四个阶段:

1操作系统的嵌入式算法阶段:

单芯片为核心,具有与一些监测、伺服、指示设备相配合的功能,一般没有明显的操作系统支持,通过汇编语言编程对系统进行直接控制。主要特点几乎没有用户接口。(单线程程序,主控程序等等)

2简单监控式的实时操作系统阶段:

以嵌入式处理器为基础,以简单监控式操作系统为核心。主要特点有:处理器种类繁多,通用性比较弱;但开销小效率高;一般配备系统仿真器,具有一定的兼容性和扩展性;用户界面不够友好,主要用来控制系统负载以及监控应用程序运行。

3通用的嵌入式实时操作系统阶段

以通用型嵌入式操作系统为标志的嵌入式系统,典型代表有:VxWorks、pSos、Windows CE等。

主要特点:运行在不同的微处理器,具有强大的能用型操作系统的功能,具有丰富的API和嵌入式应用软件。

4以Internet为标志的嵌入式系统阶段

嵌入式系统与Internet的真正结合,嵌入式操作系统与应用设备的无缝结合,代表着嵌入式操作系统发展的未来,典型代表:Android。

9 嵌入式操作系统EOS的要求

1、嵌入式操作系统常常有实时要求。早期:嵌入式操作系统= 实时操作系统RTOS。但是近期:嵌入式操作系统<>实时操作系统。

2、微内核vs单内核

很多嵌入式操作系统是微内核的。单内核也可以做嵌入式操作系统。把一些必需的功能组成的内核是微内核。

3、非易失性存储

许多嵌入式操作系统都不带非易失性存储,无磁盘无flash,启动后通过网络获得OS。

结构上为了设备驱动而支持文件系统,但不支持文件系统的文件存储功能。

4、MMU问题

许多嵌入式操作系统不采用存储管理技术,不支持虚拟存储技术。Linux,Windows Mobile、 vxworks都是支持MMU的EOS,但是充ucOS/II就是无MMU支持的EOS。

5、内存分配问题

许多嵌入式操作系统不划分“系统空间”和“用户空间”,操作系统的“内核”与外围应用程序之间不再有物理的边界;系统中所谓“进程”实际上全都是内核线程;不分系统空间和用户空间;必须静态连接,不能用页面映射技术;即使采用了存储管理,基本上都不采用页面交换技术。

6、其他

对任何一个应用程序做细微的修改,都得重新生成 整个系统,并且“下载”之;系统调用的界面太庞大;共享变量的访问,需要谨慎对待;把通用操作系统上的应用移植过来需考虑“可重入”的问题;重启动技术(watch dog)。

10 嵌入式操作系统特点

实时性:基于优先级设计,内核可抢占,实时相关函数可重入。

易移植:大量嵌入式处理器。

高可靠性:运行时间长,出错不可能人工重启。

低功耗:微电量及省电的管理。

小内核:存储资源小。

可配置:硬件要求不同;应用需求变化多端;对操作系统功能的选择性。

11 嵌入式集成开发环境

嵌入式系统开发环境,是以开发嵌入式系统为目的的工程开发环境。包括办公环境支持、软件支持、硬件设备支持。

软件支持,指集成开发环境与软件模拟器等。硬件支持,指仿真器、目标板、示波器、烧录器等。

集成开发系统包括一整套 完备的面向嵌入式系统的开发和调试工具。

一般包括编辑器、编译器、 连接器、调试器、工程管理器和底层调试接口设备。(BDM/JTAG仿真器)