嵌入式实时操作系统一般包括以下基本模块:
初始化管理:完成实时内核的初始化工作,并启动实时调度。
任务管理:完成应用任务的管理,是操作系统内核的核心部分。它具有创建任务、删除任务、挂起任务、解挂任务、设置任务优先级等功能。
时间管理:为应用系统的实时响应提供支持,保证整个系统的实时性、正确性,以提高整个嵌入式系统的实时工作能力。该模块允许应用任务设置和读取系统时间;允许应用任务
睡眠一段时间或睡眠到某一时刻;完成系统计时和对任务时间片的计算。
定时管理:完成系统的定时功能。在定时时间后调用相应的定时处理程序。
中断管理:完成响应中断的一些必要处理,支持中断嵌套时任务堆栈和中断专用堆栈的切换。
任务间的通信、同步、互斥管理:本模块提供应用任务之间通信、同步和互斥机制,对各任务之间的协调工作起着重要的作用。内核提供了四种机制:
消息队列机制──完成任务间的数据传输;
信号量机制──实现任务间资源的共享与互斥及任务间的同步;
异步通信管理——支持任务间的异步通信;
事件管理——一种高效的任务间的通信与同步机制。
内存管理:提供申请可变大小数据块和申请固定大小数据块的管理。 衡量嵌入时实时操作系统的好坏一般参考以下主要性能指标参数:
中断延迟时间 Interrupt Lantency Time:中断发生起,到执行中断处理程序的第一条指令所用的时间
任务上下文切换时间 Task Content Switch Time:系统发生任务切换时,保存和恢复上下文的时间
任务响应时间 Task Response Time:发生一个中断起,到开始执行该中断对应的任务为止的时间间隔
任务创建/删除时间 Task Create/Delete Time:创建一个高优先级任务,它又将自己删除的时间
交替信号量时间 Ping Semaphore Time:一个任务释放信号量到另一个等待该信号量的任务被激活之间的时间延迟
取得/释放信号量 http://www.csai.cn 同一个任务反复取得和释放信号量所需的时间交替消息队列传输时间:两个任务之间以固定长度的消息队列相互通讯所用的时间
嵌入式操作系统的测试一般有两种方案:
插桩(stub)
在目标操作系统和测试程序内分别加入某些功能模块,二者互通信息来进行测试。这一
方案的实质是用软件接管目标系统的全部异常处理(exception handler)及部分中断处理,在其中插入调试端口通信模块,与主机的调试器交互。
片上调试(On Chip Debugging)及Embedded PowerPC Background Debug Mode 片上调试是在处理器内部嵌入额外的控制模块,当满足了一定的触发条件时进入某种特殊状态。在该状态下,测试程序停止运行,主机的调试器可以通过处理器外部特设的通信接口访问各种资源(寄存器、存储器等)并执行指令。EPBDM的运作相当于用处理器内嵌的调试模块接管中断及异常处理。