嵌入式实时多任务软件开发基础 内容提要随着嵌入式系统应用范围的日益广泛和深入,从事嵌入式系统开发工作的人员数量也在迅速增加。《嵌入式实时多任务软件开发基础 》可以帮助从事嵌八式系统开发工作时间不久的新手们尽快掌握嵌入式系统开发的基本方法,理解嵌入式软件开发的基本概念,掌握编写稳定、高效的嵌入式系统的基本能力。《嵌入式实时多任务软件开发基础 》从一个具体的嵌入式系统--自动售茶机的开发过程作为参考范例,围绕这个简化的嵌入式系统模型,以5个章节的篇幅,对嵌入式系统的特点,商用嵌入式软件开发的流程和品质控制等进行了针对性介绍,展示了嵌入式系统及嵌入式软件开发的各个方面,提出了嵌入式多任务开发中的一些常见问题及基本的解决思路。嵌入式实时多任务软件开发基础 目录 第1章 嵌入式系统的简介1.1 嵌入式软件开发实例的规格1.1.1 自动售茶机功能描述1.1.2 自动售茶机配置1.1.3 自动售茶机操作流程1.2 嵌入式软件开发和其他软件开发的区别1.3 嵌入式软件开发的应用范围1.4 嵌入式多任务软件开发常见错误归类及介绍第2章 嵌入式系统的架构2.1 嵌入式系统开发实例(自动售茶机)的系统架构2.1.1 软件系统2.1.2 硬件系统2.1.3 微处理器(IBM PowerPC 405EP)2.2 嵌入式系统的常见架构2.2.1 嵌入式系统的软件2.2.2 嵌入式系统的硬件2.3 嵌入式微处理器2.3.1 PowerPC系列2.3.2 MIPS系列2.3.3 ARM系列2.3.4 DSP简介2.3.5 TI DSP系列2.4 嵌入式软件的开发环境简介第3章 嵌入式系统的概念详解3.1 嵌入式实时操作系统3.1.1 引言3.1.2 与通用操作系统的区别3.1.3 VxWorks简介3.1.4 Nucleus嵌入式操作系统简介3.1.5 嵌入式Linux简介3.1.6 嵌入式操作系统功能3.1.7 嵌入式操作系统中重要多任务相关函数介绍3.2 系统初始化3.2.1 系统初始化的目的3.2.2 系统初始化的范围3.2.3 自动售茶机的初始化3.3 任务3.3.1 什么是任务3.3.2 任务与函数的区别及任务的例子3.3.3 一个CPU如何同时处理多个任务3.3.4 多任务执行顺序优先级裁决3.3.5 任务的状态3.3.6 任务的划分3.4 中断3.4.1 什么是中断3.4.2 中断向量表3.4.3 中断处理过程3.4.4 中断优先级3.4.5 中断操作3.4.6 中断和任务的区别3.5 消息队列3.5.1 什么是消息队列3.5.2 消息队列的状态3.5.3 消息队列的工作方式3.6 信号灯3.6.1 什么是信号灯3.6.2 信号灯的用途3.6.3 信号灯的基本操作实例3.6.4 其他信号灯类型(VxWorks)3.6.5 使用信号灯需要注意的问题3.6.6 信号灯的实现3.7 高速缓存(cache)介绍3.7.1 高速缓存的模式(write-back模式和write-through模式)3.7.2 缓存的操作(Flush和Invalidate)第4章 嵌入式软件开发的编程风格4.1 嵌入式系统编程语言4.2 模块和文件的组织4.3 C源文件和H头文件的组织4.4 命名规则4.5 程序的书写格式4.6 可移植性编辑第5章 嵌入式系统软件实例的详解5.1 嵌入式多任务系列实例――自动售茶机5.1.1 嵌入式系统的设计5.1.2 自动售茶机系统任务和中断的划分5.1.3 自动售茶机系统任务和中断的优先级设定5.1.4 自动售茶机系统任务和中断之间的信息交换设计5.1.5 自动售茶机系统初始化代码5.1.6 自动售茶机系统中断代码5.1.7 自动售茶机系统任务代码5.2 任务的优先级设计5.2.1 任务优先级设定原则5.2.2 如何设计高优先级的任务5.3 多任务之间的同步/互斥5.3.1 信号灯和任务间同步5.3.2 消息队列和任务间同步5.3.3 信号灯和任务间互斥5.3.4 信号灯操作的异常处理5.3.5 用消息队列实现任务间互斥5.4 多任务间的信息传递5.4.1 在中断与任务之间的传递消息5.4.2 任务与任务之间的传递消息5.4.3 用信号灯来传递信息5.5 中断处理程序设计5.5.1 中断处理程序的时效性5.5.2 中断处理程序中调用其他函数的限制5.5.3 中断处理程序中屏蔽/允许同类中断5.6 处理速度的提升(任务并行)5.7 多任务环境下全局变量的保护――原子操作5.7.1 错误现象5.7.2 错误原因5.7.3 如何解决原子操作的问题5.8 多任务环境下全局变量的保护(volatile)5.9 多任务环境下公共库函数的编写5.10 出错处理及恢复5.11 设备控制模块5.11.1 引言5.11.2 外部设备寄存器的访问5.11.3 外部设备的寄存器分类5.11.4 CPU与外部设备之间的通信5.11.5 设备的错误处理5.11.6 设备控制模块的分层设计5.12 实时响应的实现5.12.1 实时系统示例5.12.2 实时时钟5.12.3 实时时钟设备驱动程序的实现示例5.12.4 实时应用系统的实现示例参考文献……