uC/OS-II 函数之内存管理相关函数】的更多相关文章

上文主要介绍了邮箱管理相关的函数,本文介绍内存管理相关的函数:OSMemCreate()内存块创建函数,OSMemGet()函数,OSMemPut()函数,OSMemQuery()函数.以前用过的uC/OS-II笔记分享到这里. 内存管理介绍 在ANSI C中可以用malloc()和free()两个函数动态地分配内存和释放内存.但是,在嵌入式实时操作系统中,多次这样做会把原来很大的一块连续内存区域,逐渐地分割成许多非常小而且彼此又不相邻的内存区域,也就是内存碎片.由于这些碎片的大量存在,使得程序…
1. OSTaskCreate()    OSTaskCreate()建立一个新任务,能够在多任务环境启动之前,或者执行任务中建立任务.注意,ISR中禁止建立任务,一个任务必须为无限循环结构.        源码例如以下: #if OS_TASK_CREATE_EN > 0                    /* 条件编译,是否同意任务的创建               */INT8U  OSTaskCreate (void (*task)(void *pd), /* 函数指针,void *…
uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的.可裁减的.抢占式.实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS).ucos由于它的开源性得到了几位广泛的应用.我这次阅读的主要目的也是通过它加深自己对操作系统相关概念的认识. 一.ucos的代码结构 由于ucos可以在不同平台上移植,其代码分为于处理器无关的的代码和与应用程序相关的代码.具体如下图: : 二.uc…
今天学习了uC/OS II的任务切换,知道要实现任务的切换,要将原先任务的寄存器压入任务堆栈,再将新任务中任务堆栈的寄存器内容弹出到CPU的寄存器,其中的CS.IP寄存器没有出栈和入栈指令,所以只能引发一次中断,自动将CS.IP寄存器压入堆栈,再利用中断返回,将新任务的任务断点指针弹出到CPU的CS.IP寄存器中,实现任务切换.虽然明白个大概,但是其中的细节却有点模糊,为什么调用IRET中断返回指令后,弹入CPU的CS.IP寄存器的断点指针是新任务的断点指针,而不是当前任务的,UCOS II是如…
<Objective-C 高级编程:iOS与OS X多线程和内存管理> 基本信息 原书名: Pro Multithreading and Memory Management for iOS and OS X: with ARC, Grand Central Dispatch, and Blocks 原出版社: Apress 作者: (日)坂本一树 (日)古本智彦 译者: 黎华 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115318091 上架时间:2013-5-28…
SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建立 Quartus II 工程 建立 Quartus II 工程时需要注意以下几点 1. 器件选择为 EP4CE10F17C8N: 2. 工程路径中不得出现非法字符(空格和中文字符): 3. 开发工具选择 Quartus II 11.0及以上,这里我选择的版本为 Quartus II 15.1. 4…
转自:http://blog.csdn.net/cy_cai/article/details/47001245 1.kmalloc()/kfree() static __always_inline void *kmalloc(size_t size, gfp_t flags) 内核空间申请指定大小的内存区域,返回内核空间虚拟地址.在函数实现中,如果申请的内存空间较大的话,会从buddy系统申请若干内存页面,如果申请的内存空间大小较小的话,会从slab系统中申请内存空间.有关buddy和slab,…
第一部分:引用VS指针 引用的含义:变量的别名 注意:变量不能只有别名,必须有一个真实的变量与之相对应 基本数据类型的引用 对别名本身的操作和它的实体的操作是一样的 1.基本数据类型的引用 类型 &变量引用名=变量名 上述程序输出结果为:10 2.结构体数据类型的引用 类型 &结构体引用名=结构体名 上述程序输出结果为:10 20 3.指针类型的引用 类型 *&指针引用名=指针 上述程序输出结果为:20 4.引用作为函数参数 上述程序输出结果为:x=20,y=10 注意:推荐使用右…
拿到这本书的第一感觉是非常薄,可是内容就如同序里面所说,这不是一本面向刚開始学习的人的书,比較有深度,对C/C++全然不熟悉的话非常多东西会看不明确. 尽管此书在技术点上仅仅谈到了ARC.Blocks和GCD,可是假设把这三部分的内容深入理解了,事实上也等于将开发中大部分的问题都攻克了,ARC面对的是内存管理的问题,相信每个iOS开发人员都曾面临过,对大多数人来说.仅仅要记好内存管理的相关规则.就能避免内存管理的问题,假设不满足于仅仅知其表象,想深入理解ARC的工作机制的话,这部分还是非常值得一…
上文主要介绍了消息队列相关的函数,本文介绍邮箱管理相关的函数:OSMboxCreate()建立一个邮箱,OSMboxDel()删除一个邮箱,OSMboxPend()等待邮箱中的消息,OSMboxPost()向邮箱发送一则消息,OSMboxQuery()查询一个邮箱的状态. 邮箱管里介绍 邮箱是µC/OS-II中另一种通讯机制,它可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量.该指针指向一个包含了特定"消息"的数据结构.为了在µC/OS-II中使用邮箱,必须将OS_CF…