移植 ucos-ii,需要修改两个方面
一方面是重新配置内核的大小,也就是修改配置文件 OS_CFG..H 文件
另一方面是编写与硬件相关的代码
关于重新配置文件,如下所示,只是把内核需要的功能选取和配置堆栈的大小
/******************************************************************************
uC/OS-II 的内核构造
*/
#define OS_MAX_EVENTS 2 /* 应用中最多事件控制块的数目...必须大于 0 */
#define OS_MAX_FLAGS 5 /* 应用中最多事件标志组的数目... 必须大于 0 */
#define OS_MAX_MEM_PART 5 /* 最多内存块的数目...必须大于 0 */
#define OS_MAX_QS 2 /* 应用中最多对列控制块的数目...必须大于 0 */
#define OS_MAX_TASKS 11 /* 应用中最多任务数目...必须大于等于 2 */
#define OS_LOWEST_PRIO 12 /* 定义任务的最低优先级...不得大于 63 ! */
#define OS_TASK_IDLE_STK_SIZE 512 /* 统计任务堆栈容量(按照 OS_STK 的宽度数目) */
#define OS_TASK_STAT_EN 1 /* 允许 (1) 或者禁止 (0) 统计任务 */
#define OS_TASK_STAT_STK_SIZE 512 /*空闲任务堆栈,容量按照 OS_STK 的宽度数目
#define OS_ARG_CHK_EN 1 /* 允许 (1) 或者禁止 (0) 变量检查 */
#define OS_CPU_HOOKS_EN 1 /*在处理器移植文件中允许使用 uC/OS-II 的接口函数
/* -------------------事件标志管理 ------------------- */
#define OS_FLAG_EN 1 /* 允许 (1) 或者禁止 (0) 产生事件标志相关代码 */
#define OS_FLAG_WAIT_CLR_EN 1 /* 允许生成 Wait on Clear 事件标志代码 */
#define OS_FLAG_ACCEPT_EN 1 /* 允许生成 OSFlagAccept() */
#define OS_FLAG_DEL_EN 1 /* 允许生成 OSFlagDel() */
#define OS_FLAG_QUERY_EN 1 /* 允许生成 OSFlagQuery() */
/* -------------------消息邮箱管理 -------- ---------- */
#define OS_MBOX_EN 1 /* 允许 (1) 或者禁止 (0) 产生消息邮箱相关代码 */
#define OS_MBOX_ACCEPT_EN 1 /* 允许生成 OSMboxAccept() */
#define OS_MBOX_DEL_EN 1 /* 允许生成 OSMboxDel() */
#define OS_MBOX_POST_EN 1 /* 允许生成 OSMboxPost() */
#define OS_MBOX_POST_OPT_EN 1 /* 允许生成 OSMboxPostOpt() */
#define OS_MBOX_QUERY_EN 1 /* 允许生成 OSMboxQuery() */
/* ---------------------内存管理 --------------------- */
#define OS_MEM_EN 1 /* 允许 (1) 或者禁止 (0) 产生内存相关代码 */
#define OS_MEM_QUERY_EN 1 /* 允许生成 OSMemQuery() */