摘要: //通过OSSemCreate()建立信号量OS_EVENT *OSSemCreate(INT16U cnt){#if OS_CRITICAL_METHOD==3 OS_CPU_SR cpu_sr;#endif OS_EVENT *pevent; if(OSIntNesting>0) //判断是否被中断服务子程序调用 { return ((OS_EVENT*)0); } OS_ENTER_CRITICAL(); pevent=OSEventFreeList;//试图从空闲事件控制块联表中得到一个事件控制块ECB if(O... 阅读全文
posted @ 2012-03-14 12:14 苍术厚朴 阅读(761) 评论(0) 推荐(0) 编辑
摘要: //中断退出函数OSInitExit(),标志着中断服务子程序的终结void OSInitExit(void){#if OS_CRITICAL_METHOD==3 OS_CPU_SR cpu_sr;#endif if(OSRunning==TRUE) { OS_ENTER_CRITICAL(); if(OSIntNesting>0) { OSIntNesting--; //中断嵌套层数计算器减一 } if((OSIntNesting==0)&&(OSLockNesting==0)) ... 阅读全文
posted @ 2012-03-14 12:12 苍术厚朴 阅读(967) 评论(0) 推荐(0) 编辑
摘要: //c语言,基于x86处理器的uc/os-II开中断和关中断的洪定义#if OS_CRITICAL_METHOD==1#define OS_ENTER_CRITICAL() asm CLI;#define OS_EXIT_CRITICAL() asm STI;#endif#if OS_CRITICAL_METHOD==2#define OS_ENTER_CRITICAL() asm {PUSHF;CLI}#define OS_EXIT_CRITICAL() asm POPF#endif#if OS_CRITICAL_METHOD==3#define OS_ENTER_CRITICAL() .. 阅读全文
posted @ 2012-03-14 12:10 苍术厚朴 阅读(580) 评论(0) 推荐(0) 编辑
摘要: ;ARM处理器任务上下文的切换汇编语言函数OS_TSK_SW():;指令说明:STMFD,是按照高地址->低地址存储,并且指针往前-4. STMFD sp!,{pc} ; 保存当前任务PC的任务栈区STMFD SP!,{lr} ; 保存当前任务LR,即当前任务的返回地址,即任务栈区STMFD SP!,{ro-r12}; 保存R0...R12到任务栈区MRS R4,CPSR; R4用作中间暂存数据寄存器STMFD SP!,{R4}; 保存CPSR到任务栈区MRS R4,SPSR; R4用作中间暂存数据寄存器STMFD SP!{R4}; ... 阅读全文
posted @ 2012-03-14 12:09 苍术厚朴 阅读(753) 评论(0) 推荐(0) 编辑
摘要: //ucos的初始化void OSInit(void){#if OS_VERSION>=204 OSInitHookBegin();#endif OS_InitMisc(); //初始化系统需要的一些变量 OS_InitRdyList(); //初始化就绪列表 OS_InitTCBList(); //初始化TCB列表 OS_InitEventList(); //初始化事件列表#if (OS_VERSION>=251)&... 阅读全文
posted @ 2012-03-14 12:07 苍术厚朴 阅读(1262) 评论(0) 推荐(0) 编辑
摘要: //定义一个文件系统的类型static DECLARE_FSTYPE(pipe_fs_type,"pipefs",pipefs_read_super,FS_NOMOUNT);//管道超级块static struct super_block *pipefs_read_super(struct super_block *sb,void *data,int silent){ struct inode *root=new inode(sb); //生成管道文件系统的根目录的内存inode if(!root) return NULL; ... 阅读全文
posted @ 2012-03-14 12:01 苍术厚朴 阅读(498) 评论(0) 推荐(0) 编辑
摘要: struct module{ unsigned long size_of_struct; struct module *next; const char *name; unsigned long size; union { atomic_t usecount; long pad; }uc; unsigned long flags; unsigned nsyms; unsigned ndeps; struct module_symbol *syms; struct module_ref *deps... 阅读全文
posted @ 2012-03-14 11:58 苍术厚朴 阅读(400) 评论(0) 推荐(0) 编辑
摘要: struct mm_struct{ struct vm_area_struct *mmap; //list of VMA rb_root_t mm_rb; //指向vma段红黑树的指针 struct vm_area_struct *mmap_cache; //last find_vma result 存储上一次查询的操作的结果 pgd_t *pgd; //进程页目录的起始地址 atomic_t mm_users; //h... 阅读全文
posted @ 2012-03-14 11:55 苍术厚朴 阅读(4330) 评论(0) 推荐(1) 编辑
摘要: 今天到图书馆,虽然找到一个比较好的位置,可惜,后面的一个同学的电脑发出很大的声音,那鼠标的点击的频率,那上下拉动的声音,那敲击键盘的声音,令我很怀疑她的阅读的速度和打字的速度。我对那噪声很敏感,本来已经很浮躁的我,忍受不住这样的打击,于是,无法平平静静地做自己的事情,而是在集中于那噪声之中,为什么你就不安静一些,让我好好学习呢?难道你就不会顾及别人的感受吗?越想越多,自己手上的事情反而放下了,于是我就分神了。 我情不自禁地想起往事来了,同样的一样的事情,发生在我中考的考场上。当时我后面的同学是另外一间学校的,当时他在考试的时候,非常喜欢将他的脚移来移去,但是同时他的鞋与地上又发出比较大的... 阅读全文
posted @ 2012-03-01 11:44 苍术厚朴 阅读(392) 评论(0) 推荐(0) 编辑
摘要: linux系统文件和目录的命令: cat:用来查看文件内容 cd:改变当前目录 cp 【选项】【源文件】【目的文件】-r同时复制目录下的文件与子目录 mv:用来移动或更改文件,目录名称 mkdir:用来建立新目录 rmdir:用来删除目录 rm:-r把目录及其目录中的子文件全部删除,-f直接删除文件 pwd:列出当前所在的目录位置 du:查看目录所占磁盘的容量 chmod/chown:用来改变文件权限的设定 touch: 用来改变文件和目录的最后修改时间 ls: 列出文件和查看系统所支持的shellmknod:创建c字符,b块或p管道文件,创建特殊文件mount【选项】【类型】【设备名】【目录 阅读全文
posted @ 2012-02-24 00:36 苍术厚朴 阅读(303) 评论(0) 推荐(0) 编辑