① 嵌入式系统
<1、前后系统
前:中断级
后:任务级
<2、实时内核
指用于管理CPU的时间和硬件资源的软件代码
<3、实时操作系统
包含实时内核,文件管理,GUI,内存管理,协议栈(TCP-IP)
② UCOSIII是一个抢占式(preemptive)、可固化、可裁剪的实时内核,总是处于运行优先级最高的任务
③ 临界段(critical section)
指程序运行期间不能被打断的代码段
进入临界段的方法有两种,分别是关中断和给调度器上锁,他们都是调用宏OS_CRITICAL_ENTER()实现进入
临界区,通过调用宏OS_CRITICAL_EXIT()退出临界区。这两种方法的区别是宏的定义不一样
④ UCOSIII任务
任务的分类:运行完成型、循环运行型
运行参数:是创建任务时,给OSTaskCreat()函数传递的 void *p_data 数据指针,其作用是避免重复地创建同
样类型的任务
可重入函数:函数中使用的都是局部变量
在任何一个任务中都可以创建其他的任务(OSTaskCreat())
挂起其他的任务(OSTaskSuspend())
恢复其他的任务(OSTaskResume())
也可以向其他任务发送信号量和消息(OSXXXPost())
⑤ 任务优先级的分配
⑥ 栈空间大小的确定
使用UCOSSIII提供的系统API函数OSTaskStkChk()获取任务当前已使用的堆栈大小
.