mdk 版本
1,建立一个基本stm32库工程如下
在添加库函数之外添加 RTX_Config.c,请到keil的安装路径下找
D:\Keil\ARM\RL\RTX\Examples 每个例子里面都有一个RTX_Config.c配置文件
2. 选中RTX Kernel配置
3.为了阅读rtx源代码方便添加rtx源代码,路径
D:\Keil\ARM\RL\RTX\SRC\ARM,红色部分为各个架构的hal文件选择正确的架构就可以了
4.配置
RTX,通过RTX_Config.c,点击该文件进入configuration wizard配置,有配置栈,调度模式,时间片等等信息
讲一下主要的
RTX_Config.c配置宏
// <o>Timer clock value [Hz] <1-1000000000>
// <i> Set the timer clock value for selected timer.
// <i> Default: 6000000 (6MHz)
#ifndef OS_CLOCK
#define OS_CLOCK 720000000 //芯片的系统时钟我这里是72M
#endif
// <o>Timer tick value [us] <1-1000000>
// <i> Set the timer tick value for selected timer.
// <i> Default: 10000 (10ms)
#ifndef OS_TICK
#define OS_TICK 5000 //时间片的大小,一个系统滴答表示的时间
#endif
// </h>
// <h>System Configuration
// =======================
// <e>Round-Robin Task switching
// =============================
// <i> Enable Round-Robin Task switching. //配置是否轮转调度算法
#ifndef OS_ROBIN
#define OS_ROBIN 1
#endif
// <o>Round-Robin Timeout [ticks] <1-1000>
// <i> Define how long a task will execute before a task switch.
// <i> Default: 5
#ifndef OS_ROBINTOUT
#define OS_ROBINTOUT 5 //每个人物的轮转时间长度单位为系统滴答 OS_TICK
#endif
// <i> Set the timer clock value for selected timer.
// <i> Default: 6000000 (6MHz)
#ifndef OS_CLOCK
#define OS_CLOCK 720000000 //芯片的系统时钟我这里是72M
#endif
// <o>Timer tick value [us] <1-1000000>
// <i> Set the timer tick value for selected timer.
// <i> Default: 10000 (10ms)
#ifndef OS_TICK
#define OS_TICK 5000 //时间片的大小,一个系统滴答表示的时间
#endif
// </h>
// <h>System Configuration
// =======================
// <e>Round-Robin Task switching
// =============================
// <i> Enable Round-Robin Task switching. //配置是否轮转调度算法
#ifndef OS_ROBIN
#define OS_ROBIN 1
#endif
// <o>Round-Robin Timeout [ticks] <1-1000>
// <i> Define how long a task will execute before a task switch.
// <i> Default: 5
#ifndef OS_ROBINTOUT
#define OS_ROBINTOUT 5 //每个人物的轮转时间长度单位为系统滴答 OS_TICK
#endif
具体见mdk help 中的rtx 系统配置描述