- 4
- 0
- 约3.01千字
- 约 16页
- 2018-06-09 发布于河南
- 举报
嵌入式实时操作系统(第15课时)
嵌入式实时操作系统;在实际应用程序的设计中,一般不会用到μc/os-II系统提供全部函数,所以μc/os-II允许用户根据实际需要对μc/os-II进行裁剪,即只选用应用程序用到的功能,而不需要的功能则通过条件编译命令把它们裁剪掉(实质上就是令编译器不编译它们)。于是就需要在μc/os-II的配置文件OS_CFG.H中,对相关的配置常量进行相应的设置。
本章的主要内容有:
介绍用户在设计应用程序时,为选用μc/os-II提供的服务而需要在OS_CFG.H中定义的配置常量。;9.1 文件OS_CFG.H中用于系统裁剪的常量;函 数;函 数;函 数;函 数;9.2 配置常量的解释;9.2.4 OS_MAX_MEM_TASKS
配置常量OS_MAX_MEM_TASKS用来定义应用程序中可以具有任务的最大数目。由于μc/os-II保留了两个系统使用的任务(统计任务和空闲任务),所以常量OS_MAX_MEM_TASKS的值不能大于62。
如果设定OS_MAX_MEM_TASKS刚好等于所需任务数,则建立新任务时要注意检查是否超过限定。如果OS_MAX_MEM_TASKS的值设定得太大,则会造成内存的无谓浪费。
9.2.5 OS_LOWEST_PRIO
配置常量OS_LOWEST_PRIO用来设定系统中任务的最低优先级别(最大优先级数目)。设定适当的OS_LOWEST_PRIO值,可以节省用于任务控制块的内存。
μc/os-II中优先级别从0(最高优先级)~63(最低优先级)。 μc/os-II保留了两个优先级别系统自用:OS_LOWEST_PRIO和OS_LOWEST_PRIO-1。其中OS_LOWEST_PRIO留给系统的空闲任务OSTaskIdle( );OS_LOWEST_PRIO-1留给统计任务OSTaskStat( )。从0~OS_LOWEST_PRIO-2为用户任务可使用的优先级别。
;需要注意的是,OS_LOWEST_PRIO和OS_MAX_TASKS是相互独立的两个配置常量。例如,可以设OS_MAX_TASKS为10,而OS_LOWEST_PRIO为32。此时系统最多可有10个任务,用户任务的优先级别可以是0~30。当然,用OS_LOWEST_PRIO来设定的优先级别也要够用。例如,设OS_MAX_TASKS为20,而OS_LOWEST_PRIO为10,优先级别就不够用了。
9.2.6 OS_TASK_IDLE_STK_SIZE
配置常量OS_TASK_IDLE_STK_SIZE用来设置μc/os-II中空闲任务堆栈的容量。
在设置这个常量时,要注意堆栈容量的单位不是字节,而是OS_STK(μc/os-II中堆栈统一用OS_STK声明,根据不同的硬件环境,OS_STK可为不同的长度)。
空闲任务堆栈的容量取决于所使用的处理器以及预期的最大中断嵌套数。虽然空闲任务几乎???做什么工作,但含是要预留足够的堆栈空间保存CPU寄存器的内容,以及可能出现的中断嵌套情况。;9.2.7 OS_TASK_STAT_EN;9.2.9 OS_CPU_HOOKS_EN
配置常量OS_CPU_HOOKS_EN用来设定是否在文件OS_CPU_C.C中实现各钩子函数(Hook Function)。如果要实现钩子函数,则常量OS_CPU_HOOKS_EN必须设置为1。
μc/os-II中提供了如下5个对外接口函数:
OSTaskCreateHook( );
OSTaskDelHook( );
OSTaskStatHook( );
OSTaskSwHook( );
OSTimeTickHook( );
这5个钩子函数既可在文件OS_CPU_C.C中声明,也可在用户代码中声明。
9.2.10 OS_MBOX_EN
配置常量OS_MBOX_EN用来控制应用程序是否使用μc/os-II的消息邮箱函数及其相关数据结构。如果要使用,则必须将其设为1;如果不使用,则设为0,关闭此常量以节省内存。;9.2.11 OS_MEM_EN
配置常量OS_MEM_EN用来控制应用程序是否使用μc/os-II的内存块管理函数及其相关数据结构。如果要使用,则必须将其设为1;如果不使用,则设为0,关闭此常量以节省内存。
9.2.12 OS_Q_EN
配置常量OS_Q_EN用来控制应用程序是否使用μc/os-II中的消息队列函数及其相关数据结构。如果要使用,则必须将其设为1;如果不使用,则设为0,关闭此常量以节省内存。
9.2.13 OS_SEM_EN
配置常量OS_SEM_EN用来控制应用程序是否使用μc/os-II中的信号量管理函数及其相关数据结构。如果要使用,则必须将其设为1;如果不使用,则关闭此常量以节省内存。
;9.2.14 OS_TA
原创力文档

文档评论(0)