现在位置: 首页

什么是可重入函数,什么是不可重入函数

2013年11月17日 RTOS  ⁄ 共 1084字 什么是可重入函数,什么是不可重入函数已关闭评论
可重入型函数可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存在CPU寄存器中或堆栈中。如果使用全局变量,则要对全局变量予以保护。如下程序是一个可重入型函数的例子。 void strcpy(char *dest, char *src) { while (*dest++ = *src++) { ; } *dest = NUL; } 函数Strcpy()做字符串复制...
阅读全文

不可剥夺型内核与可剥夺型内核

2013年11月17日 UCOS-II  ⁄ 共 1673字 不可剥夺型内核与可剥夺型内核已关闭评论
不可剥夺型内核 不可剥夺型内核要求每个任务自我放弃CPU的所有权。不可剥夺型调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。 不可剥夺型内核的一个优点是响应中断快。在讨论中断响应时会进...
阅读全文

什么是任务,任务的概念

2013年11月17日 UCOS-II  ⁄ 共 652字 什么是任务,任务的概念已关闭评论
一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全只属该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间(如下图所示) 多任务 典型地、每个任务都是一个无限的循环。每个任务都处在以下5种状态之一的状态下,这5种状态是休眠态,就绪态、运行态、挂起态(等待某一事件发生)和被中断态...
阅读全文

什么是前后台系统

2013年11月17日 UCOS-II  ⁄ 共 560字 什么是前后台系统已关闭评论
不复杂的小系统一般设计成如下图所示的样子。这种系统可称为前后台系统或超循环系统(Super-Loops)。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为(foreground)。后台也可以叫做任务级。前台也叫中断级。时间相关性很强的关键操作(Critical operation)一定是靠中断服务来保证的。因为中断服务提供的信息一直要等到后...
阅读全文

将Vim改造为强大的IDE(2)—Vim集成Ctags/Taglist/Cscope

2013年11月16日 工具配置  ⁄ 共 6312字 将Vim改造为强大的IDE(2)—Vim集成Ctags/Taglist/Cscope已关闭评论
接上篇 《将Vim改造为强大的IDE(1)》 9、buffer管理器MiniBufferExplorer MiniBufferExplorer用于浏览和管理buffer,如果只打开一个文件,是不会显示在屏幕上的,而打开多个文件之后,会自动出现在屏幕上。vim也有自带的buffer管理工具,不过只有:ls, :bnext, :bdelete 等的命令, 既不好用, 又不直观. 关于vim缓冲区(buffer)和窗口的概念(详见:help windows) "缓冲区" 是一块内存区域,里面存储着正在编辑的文件。如果没...
阅读全文

将Vim改造为强大的IDE(1)—Vim集成Ctags/Taglist/Cscope

2013年11月16日 工具配置  ⁄ 共 11454字 将Vim改造为强大的IDE(1)—Vim集成Ctags/Taglist/Cscope已关闭评论
1、安装Vim和Vim基本插件 首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可: lingd@ubuntu:~/arm$sudo apt-get install vim vim-scripts vim-doc 其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。 vim中文帮助文档tar包下载地址: http://sourceforge.net/projects/vimcdoc/files/vimcdoc/ 解压后其中有个doc文件夹, 将其中的内容全部复制到~/.vim/doc, 或者vim安装目录下的doc目录中, 此时vim中的h...
阅读全文
×