2022年ucos复习资料.docx

上传人:Che****ry 文档编号:27269947 上传时间:2022-07-23 格式:DOCX 页数:19 大小:130.26KB
返回 下载 相关 举报
2022年ucos复习资料.docx_第1页
第1页 / 共19页
2022年ucos复习资料.docx_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《2022年ucos复习资料.docx》由会员分享,可在线阅读,更多相关《2022年ucos复习资料.docx(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -1 uC/OS-II是一个简洁、易用的基于优先级的嵌入式【抢占式】多任务实时内核;2 任务是一个无返回的无穷循环;uc/os-ii 总是运行进入就绪状态的【最高优先级】的任务;3 由于 uc/os-ii 总是运行进入就绪状态的最高优先级的任务;所以,确定哪个任务优先级最高,下面该哪个任务运行,这个工作就是由【调度器(scheduler )】来完成的;4 【 任务级】的调度是由函数 OSSched 完成的,而【中断级】的调度是由函数 OSIntExt 完成;对于 OSSched ,它内部调用的是【OS_TASK

2、_SW】 完成实际的调度;OSIntExt 内部调用的是【OSCtxSw 】实现调度;5 任务切换其实很简洁,由如下 2 步完成:(1)将被挂起任务的处理器寄存器推入自己的【任务堆栈】;(2)然后将进入就绪状态的最高优先级的任务的寄存器值从堆栈中复原到【寄存器】中;6 任务的 5 种状态;【睡眠态 task dormat 】:任务驻留于程序空间(rom 或 ram )中,临时没交给ucos-ii 处理;【就绪态( task ready )】:任务一旦建立,这个任务就进入了就绪态;【运行态( task running )】:调用OSStart ()可以启动多任务;OSStart ()函数只能调用

3、一次,一旦调用,系统将运行进入就绪态并且优先级最高的任务;【等待状态( task waiting )】:正在运行的任务,通过推迟函数或 pend (挂起)相关函数后,将进入等待状态;【中断状态( ISR running )】:正在运行的任务是可以被中断的,除非该任务将中断关闭或者 ucos-ii 将中断关闭;7【 不行剥夺型】内核要求每个任务自我舍弃 CPU 的全部权;不行剥夺型调度法也称作合作型多任务,各个任务彼此合作共享一个 CPU ;8当系统响应时间很重要时,要使用【可剥夺型】内核;最高优先级的任务一旦就绪,总能得到CPU 的掌握权;【 互 第 1 页,共 17 页 9使用可剥夺型内核时

4、,应用程序不应直接使用不行重入型函数;调用不行重入型函数时,要满意互斥条件,这一点可以用斥型信号量】来实现;局部10【 可重入型】函数可以被一个以上的任务调用,而不必担忧数据的破坏;11可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失;可重入型函数或者只使用【变量 】,即变量储存在CPU 寄存器中或堆栈中;假如使用全局变量,就要对全局变量予以【爱护】;12每个任务都有其优先级;任务越重要,给予的优先级应【越高】;13 C/OS-初始化是通过调用系统函数【OSIint 】实现的,完成 C/OS- 全部的变量和数据结构的初始化;细心整理归纳 精选学习资料 - - - -

5、 - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -14多任务的启动是用户通过调用【OSStart 】实现的;然而,启动 C/OS-之前,用户至少要建立一个应用【任务】;15. C/OS-的参数配置文件名为【OS_CFG.H 】;16 删除任务 ,是说任务将返回并处于【休眠状态】,并不是说任务的代码被删除了,只是任务的代码不再被 .C/OS- 调用;17 .C/OS- 要求用户供应【定时中断】来实现延时与超时掌握等功能;18定时中断也叫做【时钟节拍】,它应当每秒发生 10 至 1

6、00 次;19. 时钟节拍的实际频率是由用户的应用程序打算的;时钟节拍的频率越高,系统的负荷就【越重】;20 .C/OS-II 中的信号量由两部分组成:一个是信号量的【计数值】,它是一个 16 位的无符号整数(0 到 65,535 之间);另一个是由等待该信号量的任务组成的【等待任务表】;用户要在 OS_CFG.H 中将 OS_SEM_EN 开关量常数置成【1 】,这样 .C/OS-II才能支持信号量;21. .C/OS-II 中表示当前已经创建的任务数全局变量名为:【OSTaskCtr 】;21. .C/OS-II 中表示当前内核运行的标记全局变量名为:【OSRunning 】;22在使用

7、OSTaskCreate 创建任务时,如需要 TaskData 作伪参数传递给任务 Task, 并从任务 Task 中获得传入的字符参数值,请在下面【】填上合适的代码;char TaskData=A; OSTaskCreateTask, 【 void *& TaskData 】 , &TaskStk0TASK_STK_SIZE - 1, 1; void Task void *pdata char value = 【 *char *pdata 】 ; for ; OSSemPendRandomSem, 0, &err; y = int *char *pdata - A; OSSemPostRan

8、domSem; PC_DispChar10, 25, value, DISP_FGND_WHITE + DISP_BGND_BLUE; OSTimeDly1; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - 23. 在 .C/OS-II 在任务 Task1 中使用邮箱函数OSMboxPost ()发送字符;而在Task2 中接收 OSMboxPost ()字符 , 请在下面【 】填上合适的代码;void T

9、ask1 void *data char txmsg; INT8U err; txmsg = A; for ; OSMboxPostTxMbox, 【 void *&txmsg 】 ; /* Send message to Task2*/ OSMboxPendAckMbox, 0, &err; txmsg+; if txmsg = Z txmsg = A; void Task5 void *data char *rxmsg; INT8U err; data = data; for ; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 17

10、页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -rxmsg = 【 char * 】 OSMboxPendTxMbox, 0, &err; PC_DispChar70, 18, *rxmsg, DISP_FGND_YELLOW + DISP_BGND_BLUE; OSMboxPostAckMbox, void *1; 24. 在 Task1 中使用消息队列OSQPend ()函数接收消息“ Hello World.,而在 Task2 中使用消息队列OSQPost ()函数发送消息 “ Hello World.” ,

11、请在下面【】填上合适的代码. void Task1 void *pdata char *msg; INT8U err; pdata = pdata; for ; msg = 【char * 】OSQPendMsgQueue, 0, &err; PC_DispStr70, 13, msg, DISP_FGND_YELLOW + DISP_BGND_BLUE; OSTimeDlyHMSM0, 0, 0, 100; void Task2 void *pdata char msg20; pdata = pdata; strcpy&msg0, Hello World.; for ; 细心整理归纳 精选学

12、习资料 - - - - - - - - - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -OSQPostMsgQueue, 【void * 】&msg0; OSTimeDlyHMSM0, 0, 0, 500; 1. 举例说明 .COS-II 可移植型数据类型的定义方式答:由于不同的微处理器有不同的字长,.C/OS-II 的移植文件包括许多类型定义以确保可移植性;.COS-II 不使用 C 语言中的short,int,long 等数据类型的定义,由于它们与处理器类型有关,

13、隐含着不行移植性;.C/OS-II 代之以移植性强的整数数据类型,这样,既直观又可移植 该数据类型不依靠于编译 ,举例如下 : typedef unsigned char BOOLEAN; typedef unsigned char INT8U; typedef signed char INT8S; typedef unsigned int INT16U; typedef signed int INT16S; typedef unsigned long INT32U; typedef signed long INT32S; 2. .COS-II如何定义全局变量. 答:众所周知 ,全局变量应当是

14、得到内存安排且可以被其他模块通过C 语言中 extern 关键字调用的变量 ;因此,必需在 .C 和 .H 文件中定义;这种重复的定义很简洁导致错误;.COS-II 采纳的方法只需用在头文件中定义一次;uC/OS_II.H 头文件中包括以下定义全局宏定义 : #ifdef OS_GLOBALS #define OS_EXT #else #define OS_EXT extern #endif OS_EXT INT32U OSIdleCtr; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 名师

15、归纳总结 精品学习资料 - - - - - - - - - - - - - - -同时, uCOS_II.H 有中以下定义:#define OS_GLOBALS #include “ includes.h”时,它使得头文件变成如下所示,由于OS_EXT 被设置为空;当编译器处理uCOS_II.CINT32U OSIdleCtr; 这样编译器就会将这些全局变量安排在内存中;当编译器处理其他.C 文件时,头文件变成了如下的样子,由于OS_GLOBAL没有定义,所以OS_EXT 被定义为extern ;extern INT32U OSIdleCtr; 在这种情形下,不产生内存安排,而任何 .C 文件

16、都可以使用这些变量;这样的就只需在 .H 文件中定义一次就可以了;3. OS_ENTER_CRITICAL 和 OS_EXIT_CRITICAL 的含义及作用 . 答:OS_ENTER_CRITICAL : 关中断;OS_EXIT_CRITICAL: 开中断;关中断和开中断是为了爱护临界段代码;用户的应用代码可以使用这两个宏来开中断和关中断;很明显,关中断会影响中断推迟,所以要特殊当心;用户仍可以用信号量来爱护临界段代码;4基于 PC 的服务中如何测量PC_DisplayChar的执行时间?答:测量 PC_DisplayChar 的执行时间的代码如下:INT16U time; / 定义时间变量

17、PC_ElapsedInit; / 时钟初始化PC_ElapsedStart; / 开头计时PC_DispChar40, 24, A, DISP_FGND_WHITE; / 执行代码time = PC_ElapsedStop; / 终止计时5 uC/OS-II 的任务框架答:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -void task_xxxvoid *pData /* 该任务的初始化工作 */ /*

18、进入该任务的死循环 */ while1 每个用户的任务都必需符合大事驱动的编程模型,即uC/OS-II 的应用程序都必需是“大事驱动的编程模型”;一个任务第一等待一个大事的发生,大事可以是系统中断发出的,也可以是其它任务发出的,又可以是任务自身等待的时间片;当一个大事发生了,任务再作相应处理,处理终止后又开头等待下一个大事的发生;如此周而复始的任务处理模型就是“大事驱动的编程模型”;大事驱动模型也涵盖了中断驱动模型,uC/OS-II大事归根结底来自三个方面:1中断服务函数发送的大事2系统延时时间到所引起的3其它任务发送的大事;6 与共享资源打交道时,使之满意互斥条件最一般的方法包括哪些?答:包

19、括:关中断、使用测试并置位指令、禁止做任务切换、利用信号量等;7. 描述利用 C/OS_ 宏调用关中断和开中断处理共享数据的示意性代码程序;答:OS_ENTER_CRITICAL; /*在这里处理共享数据 */ OS_EXIT_CRITICAL; 8. 信号量的典型应用包括哪些?细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -答:信号量 Semaphores 是一种商定机制,在多任务内核中的典型应用包括:(1

20、) 掌握共享资源的使用权 满意互斥条件 ;(2) 标志某大事的发生(3) 使两个任务的行为同步9对信号量只能实施哪三种操作?答:一般地说,对信号量只能实施三种操作:(1) 初始化 INITIALIZE ,也可称作建立 CREATE ;(2) 等信号 WAIT 也可称作挂起 PEND ;(3) 给信号 SIGNAL 或发信号 POST ;10.给出 C/OS-中如何用信号量处理共享数据的示意代码?答:通过获得信号量处理共享数据的示意代码如下:OS_EVENT *SharedDataSem; void Function void INT8U err; OSSemPendSharedDataSem,

21、 0, &err; /*共享数据的处理在此进行,中断是开着的 */ OSSemPostSharedDataSem; 11.给出初始化和启动 C/OS-的示意代码;答:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -void main void OSInit; /* 初始化 uC/OS-II */ . 通过调用 OSTaskCreate或 OSTaskCreateExt创建至少一个任务; . OSStart;

22、/* 开头多任务调度.OSStart 永久不会返回*/ 12 描述建立任务OSTaskCreate的函数原型;答:建立任务 OSTaskCreate 的函数原型为:INT8U OSTaskCreate void *taskvoid *pd, void *pdata, OS_STK *ptos, INT8U prio 其中, task: 任务代码的指针 ; pdata: 当任务开头执行时传递给任务的参数的指针 ; ptos: 安排给任务的堆栈的栈顶指针 ; prio: 安排给任务的优先级;13任务可以是一个无限的循环,也可以是在一次执行完毕后被删除掉;请给出示意代码结构;答:.C/OS- 描述的

23、任务示意代码必需是以下两种结构之一 : void YourTask void *pdata for ; 细心整理归纳 精选学习资料 /* 用户代码*/ 第 9 页,共 17 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -调用.C/OS- 的服务例程之一 : OSMboxPend; OSQPend; OSSemPend; OSTaskDelOS_PRIO_SELF; OSTaskSuspendOS_PRIO_SELF; OSTimeDly; OSTimeDl

24、yHMSM; /* 用户代码 */ 或void YourTask void *pdata /* 用户代码 */ OSTaskDelOS_PRIO_SELF; 14 C/OS-任务治理供应哪些服务?答: C/OS-任务治理供应的服务包括:(1)建立任务: OSTaskCreate或 OSTaskCreateExt;(2)删除任务: OSTaskDel ;细心整理归纳 精选学习资料 (3)恳求删除任务:OSTaskDelReq; ; 第 10 页,共 17 页 (4)转变任务的优先级:OSTaskChangePrio(5)挂起任务: OSTaskSuspend; - - - - - - - - -

25、 - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -(6)复原任务: OSTaskResume;(7)获得有关任务的信息:OSTaskQuery;15 C/OS-时间任务治理供应哪些服务?答: C/OS-时间任务治理供应的服务包括:(1) 任务延时函数:OSTimeDly (2) 按时分秒延时函数:OSTimeDlyHMSM (3) 让处在延时期的任务终止延时:OSTimeDlyResume (4) 设置系统时间:OSTimeGet (5) 获得系统时间:OSTimeSet 16. C/OS-供应的

26、数据共享和任务通讯的方法包括哪些?答: C/OS-供应的数据共享和任务通讯的方法包括五种方法:1 利用宏 OS_ENTER_CRITICAL 和 OS_EXIT_CRITICAL 来关闭中断和打开中断;2 利用函数 OSSchedLock 和 OSSchekUnlock 对.C/OS-II 中的任务调度函数上锁和开锁;3 信号量;4 邮箱;5 消息队列;17对于大事掌握块进行的一些通用包括哪些操作?答:对于大事掌握块进行的一些通用操作包括 : (1) 初始化一个大事掌握块 : OSEventWaitListInit; (2) 使一个任务进入就绪态:OSEventTaskRdy;(3) 使一个任

27、务进入等待该大事的状态:OSEventTaskWait;(4) 由于等待超时而使一个任务进入就绪态:OSEventTO ;18 C/OS-信号量供应哪些服务?答: C/OS-信号量供应的服务包括:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -(1) 建立一个信号量:OSSemCreate;(2) 等待一个信号量:OSSemPend;(3)发送一个信号量:OSSemPost;(4)无等待地恳求一个信号量:O

28、SSemAccept;(5)查询一个信号量的当前状态:OSSemQuery;19 C/OS-邮箱供应哪些服务?答: C/OS-邮箱供应的服务包括:(1)建立一个邮箱:OSMboxCreate;(2)等待一个邮箱中的消息:OSMboxPend;(3)发送一个消息到邮箱中:OSMboxPost;(4)无等待地从邮箱中得到一个消息:OSMboxAccept;(5)查询一个邮箱的状态:OSMboxQuery 20 C/OS-消息队列供应哪些服务?答: C/OS-消息队列供应的服务包括:(1)建立一个消息队列:OSQCreate ;(2)等待一个消息队列中的消息:OSQPend ;(3)向消息队列发送一

29、个消息(FIFO ): OSQPost ;(4)向消息队列发送一个消息(LIFO ): OSQPostFront;(5)无等待地从一个消息队列中取得消息:OSQAccept ;(6)清空一个消息队列:OSQFlush ;(7)查询一个消息队列的状态:OSQQuery ;21 C/OS-内存治理供应哪些服务?答: C/OS-内存治理供应的服务包括:细心整理归纳 精选学习资料 (1) 建立一个内存分区:OSMemCreate; 第 12 页,共 17 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - -

30、- - - - - - - - - -(2) 安排一个内存块:OSMemGet;(3) 释放一个内存块:OSMemPut;(4) 查询一个内存分区的状态:OSMemQuery;22移植 .C/OS- 时,要使 .C/OS- 正常运行,处理器必需满意哪些基本要求?答:要使 .C/OS- 正常运行,处理器必需满意以下要求:1 处理器的 C 编译器能产生可重入代码;2 用 C 语言就可以打开和关闭中断;3 处理器支持中断,并且能产生定时中断 通常在 10 至 100Hz 之间 ;4 处理器支持能够容纳肯定量数据 可能是几千字节 的硬件堆栈;5 处理器有将堆栈指针和其它四论述题CPU 寄存器读出和储备

31、到堆栈或内存中的指令;1. 论述 C/OS-掌握下的任务状态转换图答: C/OS-掌握下的任务状态转换图如下图所示;在任一给定的时刻,任务的状态肯定是在这五种状态之一;1 睡眠态( DORMANT ):指任务驻留在程序空间之中,仍没有交给 C/OS-治理;一个任务可以通过调用OSTaskDel 返回到睡眠态,或通过调用该函数让另一个任务进入睡眠态;2 就绪态 READY: 当任务一旦建立,这个任务就进入就绪态预备运行;把任务交给OSTaskCreate或 OSTaskCreateExt; C/OS-是通过调用下述两个函数之一:3 运行态 RUN: 调用 OSStart 可以启动多任务;OSSt

32、art 函数运行进入就绪态的优先级最高的任务;4 等待状态 WAITING: 正在运行的任务可以通过调用两个函数之一将自身推迟一段时间,这两个函数是 OSTimeDly 或OSTimeDlyHMSM;这个任务于是进入等待状态,等待这段时间过去,下一个优先级最高的、并进入了就绪态的任务马上被给予了 CPU的掌握权;正在运行的任务期望某一大事的发生时也要等待,手段是调用以下 3 个函数之一: OSSemPend ,OSMboxPend,或OSQPend ;调用后任务进入了等待状态(WAITING );5 中断状态 ISR: 正在运行的任务是可以被中断的,除非该任务将中断关了,或者 进入了中断服务态

33、(ISR);2. 论述 C/OS-的核心数据结构任务掌握块 OS_TCBs C/OS-将中断关了;被中断了的任务就细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -答:任务掌握块 OS_TCBs 是 C/OS-的核心数据结构,当任务的 CPU 使用权被剥夺时, C/OS-用它来储存该任务的状态;当任务重新得到 CPU 使用权时,任务掌握块能确保任务从当时被中断的那一点丝毫不差地连续执行;OS_TCBs 全部驻

34、留在 RAM 中;一旦任务建立了,任务掌握块 OS_TCBs 将被赋值; .C/OS-II 任务掌握块数据结构定义如下:typedef struct os_tcb OS_STK *OSTCBStkPtr; #if OS_TASK_CREATE_EXT_EN void *OSTCBExtPtr; OS_STK *OSTCBStkBottom; INT32U OSTCBStkSize; INT16U OSTCBOpt; INT16U OSTCBId; #endif struct os_tcb *OSTCBNext; struct os_tcb *OSTCBPrev; #if OS_Q_EN & O

35、S_MAX_QS = 2 | OS_MBOX_EN | OS_SEM_EN OS_EVENT *OSTCBEventPtr; #endif #if OS_Q_EN & OS_MAX_QS = 2 | OS_MBOX_EN void *OSTCBMsg; #endif INT16U OSTCBDly; INT8U OSTCBStat; INT8U OSTCBPrio; INT8U OSTCBX; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - -

36、 - - - - - - - - -INT8U OSTCBY; INT8U OSTCBBitX; INT8U OSTCBBitY; #if OS_TASK_DEL_EN BOOLEAN OSTCBDelReq; #endif OS_TCB; 其中:OSTCBStkPtr 是指向当前任务栈顶的指针;OSTCBExtPtr 指向用户定义的任务掌握块扩展;OSTCBStkBottom 是指向任务栈底的指针;OSTCBStkSize 存有栈中可容纳的指针元数目而不是用字节(Byte )表示的栈容量总数;OSTCBId 用于储备任务的识别码;OSTCBNext 和 OSTCBPrev 用于任务掌握块 O

37、S_TCBs 的双重链接;OSTCBEventPtr 是指向大事掌握块的指针;OSTCBMsg 是指向传给任务的消息的指针;OSTCBStat 是任务的状态字;OSTCBPrio 是任务优先级;OSTCBDelReq 是一个布尔量,用于表示该任务是否需要删除;OSTCBX, OSTCBY, OSTCBBitX 和 OSTCBBitY 用于加速任务进入就绪态的过程或进入等待大事发生状态的过程;3论述大事掌握块 ECB 数据结构答:.C/OS-II 通过 uCOS_II.H 中定义的 OS_EVENT 数据结构来爱护一个大事掌握块的全部信息;该大事掌握块 ECB 数据结构的定义如下:typedef

38、 struct 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 15 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -void *OSEventPtr; /* 指向消息或者消息队列的指针*/ INT8U OSEventTblOS_EVENT_TBL_SIZE; /* 等待任务列表 */ INT16U OSEventCnt; /* 计数器 当大事是信号量时 */ INT8U OSEventType; /* 时间类型 */ INT8U OSEventGrp; /*

39、 等待任务所在的组 */ OS_EVENT; 其中:OSEventPtr 指针 : 只有在所定义的大事是邮箱或者消息队列时才使用;当所定义的大事是邮箱时,它指向一个消息,而当所定义的大事是消息队列时,它指向一个数据结构 . OSEventTbl 和 OSEventGrp: 两者包含的是系统中处于就绪状态的任务;OSEventCnt :当大事是一个信号量时,用于信号量的计数器;OSEventType :定义了大事的详细类型;4论述 .C/OS-II 内存的治理的内存掌握块数据结构答:为了便于内存的治理,在.C/OS-II中使用内存掌握块(memory control blocks)的数据结构来跟

40、踪每一个内存分区,系统中的每个内存分区都有它自己的内存掌握块;内存掌握块的数据结构定义如下:typedef struct void *OSMemAddr; void *OSMemFreeList; INT32U OSMemBlkSize; INT32U OSMemNBlks; INT32U OSMemNFree; OS_MEM; 其中:细心整理归纳 精选学习资料 OSMemAddr是指向内存分区起始地址的指针; 第 16 页,共 17 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -OSMemFreeList 是指向下一个闲暇内存掌握块或者下一个闲暇的内存块的指针;细心整理归纳 精选学习资料 OSMemBlkSize是内存分区中内存块的大小,是用户建立该内存分区时指定的; 第 17 页,共 17 页 OSMemNBlks是内存分区中总的内存块数量,也是用户建立该内存

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com