Μ C/OS-II 嵌入式实时操作系统代码可以分为三个部分︰ 独立于硬件的内核代码,移植与处理器相关的代码和用户配置文件。
内核代码位于源目录,提供 4 小内核。它们位于源/SOURCE1 (包括建立任务和延时功能)、 源/SOURCE2 (删除任务功能)、 源/SOURCE3 (增加信号文件) 和源/SOURCE4 (删除信号量)。他们反过来增强,也增加了代码。
亩 C OS-II 是通过任务控制块的管理任务。任务控制块是一个链表数据结构,任务控制块主要用来记录任务堆栈堆栈指针,一个指针,指向下一个任务控制块,该任务等待的延迟时间,当前状态旗子用优先任务,与物业管理有关的一些任务的任务。
当一项任务的 CPU 使用当被剥夺时,μ C/OS-ⅱ 任务控制块来保存任务,从而确保执行任务的状态从断点恢复 CPU。
亩 C OS-II 必须通过函数 OSInit () 初始化才可以使用,只调用 OS_InitMisc ()、 (OS_InitRdyList)、 OS_InitTCBList () 和 OS_InitTaskIdle () 函数 4。
OSTaskCreate()调用了OSTaskStkInit()任务堆栈初始化函数和OS_TCBInit()函数获得并初始化一个OS_TCB。
任务调度小结:
可重入代码是代码可以通过调用多个任务同时,而不必担心数据损坏。那就是,可以中断可重入函数在任何时间,并为一些时间将继续运行,和数据不会丢失。可重入函数或使用只本地变量,存储 CPU 寄存器或堆栈中的变量。如果您使用全局变量,全局变量你想要得到保护。因此,可重入性代码是已完成的任务的基础。
Μ C/OS-II 针对代码的临界区需要禁用中断,允许处理中断后,这使亩 C/OS-II,避免在同一时间有其他任务或中断服务进入临界区的代码、 两个宏 OS_ENTER_CRITICAL () 和 OS_EXIT_CRITICAL () 以防止中断和允许中断。
µC/OS-II将信号量、互斥信号量、消息邮箱、消息队列等统称为“事件”,然后通过一个称为“事件控制块(ECB)”的数据结构来管理事件,也就是说,任务和中断服务程序可以通过ECB向另外的任务程发送信号,任务也可以等待另一个任务或者中断服务程序给它发送信号。
在使用事件控制块之前,需要将所有事件控制块链接成一个空闲事件控制块链表。每当建立一个信号量、互斥信号量、消息邮箱、消息队列时,就从该链表中取出一 个空闲事件控制块,并对它进行初始化。当信号量、互斥信号量、消息邮箱、消息队列被删除时,对应的事件控制块也需要放回到空闲事件控制块链表中。
μC/OS-II支持对信号量的3种操作:创建信号量OSSemCreate()、发送信号量OSSemPost()和等待信号量OSSemPend()。
本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox.5.1.6_Build20151120_CHS_Bit32.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 程序员专区