uC/OSⅡ源码学习笔记
来源:互联网 发布:淘宝一千零一夜怎么看 编辑:程序博客网 时间:2024/06/06 03:51
最近在图书馆借了一本书,叫做《uC/OSⅡ标准教程》,对uC/OSⅡ的源码进行了详尽的分析,感觉很受用。算是C和数据结构知识的一次实战吧。
1、实时系统不允许时间过长的中断,更不允许在中断里新建任务。比如uC/OSⅡ。
2、如果要编写可重入函数,则一定不能直接在程序中修改全局数据。如果一定要使用全局变量,则必须使用系统提供的临界状态处理办法禁止中断。
3、进入临界状态在uC/OSⅡ中有三种管理办法:
1:仅仅使用简单的禁止/使能中断的汇编指令来实现宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL。这存在一个问题,无论进入临界状态时中断管理方式如何,在退出临界状态时都是开中断的。
2:将中断前的状态入栈,退出临界状态时,将数据出栈。这样可以保证进入和退出临界状态的时候对中断管理的方式一致,但是这样的方式存在出栈和入栈的操作,占用了一定的系统时间。
3:将CPU的状态寄存器的值保存在临界变量cpu_sr中,这个临界变量在所有函数中都会被分配空间,然后禁止中断。退出临界状态时,将从该临界变量中回复CPU的状态寄存器值。这种处理方法效率较高。但要求CPU必须有状态寄存器。
0 0
- uC/OSⅡ源码学习笔记
- uC/OS学习笔记1
- uC/OS学习笔记2
- uC/OS II 学习笔记
- uc/os学习笔记1【uc/os的任务管理】
- uC/OS-II学习笔记 消息队列
- uC/OS-II学习笔记-定义全局变量
- uC/OS-II学习笔记-定义全局变量 .
- uC/OS-II 学习笔记之:信号量
- uC/OS-II 学习笔记之:事件
- uC/OS-II 学习笔记:任务堆栈
- uC/OS-II 学习笔记:信号量
- uC/OS-II 学习笔记:消息邮箱
- uC/OS-II 学习笔记:事件
- uC/OS-II 学习笔记:消息队列
- uC/OS-II 学习笔记:信号量实验
- UC/OS学习笔记-资源同步
- uC/OS-II学习笔记(1)
- netbeans缺少sass编译器的问题
- schema 知识总结
- google-seo-faster-powerful
- echo命令
- add local id_rsa.pub to authorized_keys file of remote machine
- uC/OSⅡ源码学习笔记
- C++的简易矩阵类设计(CMatrix 头文件篇)
- jQuery的 ajax 加载XML并解析
- Mina 在 Spring 中配置同时支持 SSL 加密连接和非 SSL 连接
- iOS应用开发:什么是ARC?
- [栈的基本操作]含有Min()的stack
- 数据库基础--关系代数中的除法运算
- vim c++补全
- Ext.XTemplate