RTX操作系统的配置工作是通过配置文件RTX_Conf_CM.c实现。
在MDK工程中打开文件RTX_Conf_CM.c,可以看到如下图5.2所示的工程配置向导:
Task Configuration
Number of concurrent running tasks
参数范围0 – 250
表示同时运行的最大任务数,这个数值一定要大于等于用户实际创建的任务数,空闲任务不包含在这个里面。
比如当前的数值是6,就表示用户最多可以创建6个任务。
Number of tasks with user-provided stack
参数范围0 – 250
表示自定义任务堆栈的任务数,如果这个参数定义为0的话,表示所有的任务都是使用的配置向导里面第三个参数Task statck size大小。比如:
Number of concurrent running tasks = 6
Number of tasks with user-provided stack = 0
表示允许用户创建6个任务,所有的6个任务都是分配第三个参数Task statck size大小的任务堆栈空间。
Number of concurrent running tasks = 6
Number of tasks with user-provided stack = 3
表示允许用户创建6个任务,其中3个任务是用户自定义任务堆栈大小,另外3个任务是用的第三个参数Task statck size大小的任务堆栈空间。
Task statck size
表示系统分配的任务堆栈大小,单位字节。
Check for the stack overflow
选择是否使能任务堆栈监测,选上单选框表示使能,取消单选框表示禁能。
Run in privileged mode
选择是否使能特权级模式,
选上单选框表示使能任务工作在特权级模式,
取消单选框表示任务工作在非特权级模式。特权级和非特权级在第九章有详细讲解。
Tick Timer Configuration
Hardware timer
Core SysTick 表示选择系统滴答定时器,因为M3/M4内核带有滴答定时器,一般情况下都是选用滴答定时器作为系统时钟节拍。
Peripheral Timer 表示使用外设定时器。
Timer clock value
表示定时器主频,单位Hz。
Timer tick value
表示系统时钟节拍周期,单位us。
System Configuration
Round-Robin Task switching
选择是否使能时间片调度,选上单选框表示使能时间片调度,取消单选框表示不使用时间片调度。
Round-Robin Timeout [ticks]
范围1 – 1000。
表示时间片的大小,单位是系统时钟节拍个数。
Number of user timers
范围1 – 250。
表示用户定时器个数,即软定时器个数。
ISR FIFO Queue size
表示ISR FIFO队列大小。中断服务程序中调用以isr_ 开头的函数时,会将请求类型存到此缓冲中。