1 注意如下两个宏的定义:
pushf是把标志寄存器psw入栈;
#if OS_CRITICAL_METHOD == 2
#define OS_ENTER_CRITICAL() asm {PUSHF; CLI} /* Disable interrupts */
#define OS_EXIT_CRITICAL() asm POPF /* Enable interrupts */
#endif
2 中断服务程序服务入口 = MK_FP(段地址, 偏移地址);
PC_VectSet(uCOS, OSCtxSw);
3 ALT+ENTER: CMD窗口全屏非全屏切换快捷键
4 uC/OS-II是一个多任务的实施内核,允许用户建立63个任务。任务切换依据程序建立和运行的情况,依赖于优先级,以及挂起等操作。在uC/OS-II里,每个任务必须使用uC/OC-II提供的功能函数进行延时或者等待特定事件的发生。如果一个任务里没有这样的步骤,那么所有比这个任务优先级地的任务将不可能运行。
5 浮点仿真库和浮点处理器FPU。只有在80486和更高级别的计算机才有FPU,在移植uC/OS-II的时候,要注意两者包含的部分库文件、调用的静态库、编译选项均有所区别。
6 浮点运算是不可重入的,因此在任务切换时应保存浮点计算单元。一般保存在栈空间中。
7 任务通信方式:信号量,邮箱,消息队列。
8 在uC/OS-II中,每个任务的TCB控制块都可以保存一个用户自定义的数据结构的指针。在任务中可以这样得到: puser = OSTCBCur->OSTCBExtPtr; 具体看实现。
阅读(945) | 评论(0) | 转发(0) |