Chinaunix首页 | 论坛 | 博客
  • 博客访问: 626307
  • 博文数量: 105
  • 博客积分: 5389
  • 博客等级: 准将
  • 技术积分: 1290
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-29 11:13
文章分类

全部博文(105)

文章存档

2010年(23)

2009年(20)

2008年(62)

分类:

2009-08-04 14:29:47

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) |
给主人留下些什么吧!~~