企业培训资讯_企业培训干货

当前位置:首页 > 新闻中心

uC/OS-II初级程序员指南:皇冠app官方下载

发布时间:2021-01-05    来源:皇冠app32874

本文摘要:uC/OS-II初学者程序员指南(一)uC/OS-II概述UC/OS-II是一个基于优先级的硬动态内核。

uC/OS-II初学者程序员指南(一)uC/OS-II概述UC/OS-II是一个基于优先级的硬动态内核。自1992年出版以来,它已在世界各地广泛使用。它是一种专门为嵌入式设备设计的内核,已经在40多种不同的CPU结构上重现,在8位到64位的各种系统上运行。

特别值得一提的是,该系统从2.51版开始就通过了FAA认证,可以在安全拒绝严格的系统上运行,比如航天器。由于uC/OS-II可以免费获得代码,对于嵌入式RTOS来说无疑是最经济、最自由的选择。

皇冠app官方下载

(2)uC/OS-II应用的基本结构应用于UC/OS-II,大自然需要为其开发应用。下面描述基于uC/OS-II的应用的基本结构和注意事项。每个uC/OS-II应用程序必须至少有一个任务。

而且每个任务都必须以无限循环的形式写。以下是转诊的结构:void task(void * pdata){ int 8 uer;InitTimer();//可选For(;){//把你的应用程序改成程序代码。

(1);//可选}}以上是基本结构。为什么要写无限循环的形式?这是因为系统不会为每个任务保留一个堆栈空间,当任务发生变化时,系统会改变完整的恢复上下文,并继续执行reti指令返回。如果允许任务继续执行,直到最后一个放在括号中(通常是ret指令的意思),很可能会破坏系统堆栈空间,使应用程序的继续执行无法确认。

换句话说,就是跑完就飞。所以每个任务都必须以无限循环的形式写。程序员必须坚信自己的任务不会退出CPU使用权,无论是系统强制(通过ISR)还是自愿退出(通过调用OSAPI)。

现在来说说上面程序中的InitTimer()函数。该功能应由系统获得。程序员必须在优先级最低的任务中调用它,而不能在for循环中调用它。注意这个功能和使用的CPU有关,每个系统都有自己的Timer初始化程序。

在uC/OS-II的帮助手册中,作者特别强调,这意味着定时器初始化程序不能在OSInit()或OSStart()中调用,不会破坏系统的可移植性,带来性能损失。所以一个折中的办法是在优先级最低的程序中调用,如上,这样可以保证在OSStart()调用内部系统函数OSStartHighRdy()开始多任务时,定时器初始化程序会继续先执行。

或者专门做一个优先级最低的任务,只做一件事,就是继续执行Timer初始化,然后通过调用OSTaskSuspend()把自己挂在一起,继续执行一天。但这不会浪费一个TCB空间。对于那些RAM严重不足的系统,最好不要这样做。

(3)一些最重要的uC/OS-II API说明任何操作系统都会获取大量的API供程序员使用,UC/OS-II不值得关注。因为uC/OS-II面向嵌入式R&D,不拒绝大而全,所以内核获得的API与大川多任务密切相关。主要有以下几类:1)任务类2)消息类3)实时类4)时间类5)关键区域和事件类。

我个人指出,对于初级程序员来说,任务类和时间类是两种必须先掌握的API。下面我就解释一下最重要的:1) OstaskCreate函数,这个函数至少要在主函数中调用一次,然后在OSInit函数调用之后再调用。玩就是创造一个任务。

目前有四个参数,分别是任务的入口地址,任务的参数,任务栈的第一个地址,任务的优先级。调用此函数后,系统不会先从TCB空闲列表中申请一个机器的TCB指针,然后不会根据用户获得的参数初始化任务栈,并在内部任务就绪表中将任务标记为就绪。

终于,这样的任务成功的确立了。2)ostaskssuspend函数这个函数非常非常简单。

看名字就应该明白它的作用。它可以挂起登录任务。

如果当前任务被挂起,将不会导致系统继续执行任务转换引导函数OSShed来启动任务转换。这个函数只有一个参数,就是登录任务的优先级。那为什么是优先呢?事实上,在系统中,优先级不仅响应任务继续执行的顺序,还起着分隔每个任务的作用。

换句话说,优先级就是任务的ID。因此,uC/OS-II不允许优先级完全相同的任务频繁出现。3)ostasksresume函数这个函数和上面的函数只是忽略。

皇冠app

它用于将已登录的暂停功能完全恢复到就绪状态。如果完全恢复任务的优先级低于当前任务的优先级,也会导致任务转换。其参数类似于OSTaskSuspend函数,是登录任务的优先级。

特别要说明的是,这个函数并不拒绝与OSTaskSuspend函数成对使用。4) OS _ ENTER _ CRITICAL宏很多人以为是函数,其实不是。分析OS_CPU。

仔细锉。这是一个带有OS _ EXIT _ CRITICAL的宏,将在下面讨论。

它们都涉及一个特定CPU的构造。它们通常被一个或几个嵌入的代码代替。因为系统期望对上层程序员隐藏内部构造,所以一般声称系统继续执行这个指令后会变成临界区。

然而,这只是一个中断。这样,只要任务没有主动退出CPU使用权,其他任务就没有空闲CPU的机会。

相对于这个任务来说,是占优势的。这就是为什么它变成了临界区。这个宏或多或少都可以使用,因为它不会破坏系统的一些服务,尤其是时间服务。

降低了系统对外调用性能。5) OS _ exit _ critical宏该宏用于另一个具有上述宏功能的宏。它在系统手册中的解释是溶解临界区。

只是这是一个新的中断。必须注意的是,它必须经常与上面的宏成对出现,否则不会带来意想不到的后果。最坏的情况是,系统不会崩溃。我们建议程序员尽量少用这两个宏调用,因为不破坏系统的多任务性能。

6)临时函数这应该是程序员应该调用的最少的函数。已经完成的功能很简单,就是再次挂起当前任务,然后开始任务转换。登录时间到了之后,当前任务会完全恢复到就绪状态,但不一定操作。

如果它是完全恢复后优先级最低的就绪任务,则操作它。简单来说,可以将任务延迟一定时间再继续执行,也可以继续退出CPU的使用权。

一个任务可以不显式调用这些可以导致CPU使用权被收回的API,但是多任务性能不会有很大的降低,因为这时候就意味着要依靠时钟机制来扩展任务转换。当一些经营者自愿退出使用权时,就应该完成一项好的任务。好东西要大家分享!。


本文关键词:皇冠app官方下载,皇冠app

本文来源:皇冠app官方下载-www.vncrradio.com

分享到:
相关推荐MORE+
03-03 上街区教研室教研员到区外国语小学开展英语听评课活动

本文摘要:9月4日上午,区教研室教研人员吴淑娟、石红莲、窦老师赴区外国语小学积极开展常规班听力评估。9月4日上午,区教研室教研人员吴淑娟、石红莲、窦老师赴区外国语小学积极开展常规班听力评估。在副校长的

03-03 皇冠app官方下载-科学家于遥远太空发现地球双胞胎

本文摘要:科学家们认为,我们银河系中五分之一的恒星都有类似地球的行星围绕着它们旋转。科学家们认为,我们银河系中五分之一的恒星都有类似地球的行星围绕着它们旋转。但是寻找一个真正类似于我们自己的世界的最终

03-03 用“三朵云”赋能传统产业,科通芯城的产业晋级之路-皇冠app官方下载

本文摘要:驳回鼻痛心性后,大部分人的头脑中有可能会剩下IC零部件流通企业的作用。驳回鼻痛心性后,大部分人的头脑中有可能会剩下IC零部件流通企业的作用。经过近几年的战略调整,该上市企业已成长为以智能硬件

03-03 【皇冠app】马力欧索尼克又双双来了!世嘉公布4款东京奥运会主题游戏

本文摘要:2016年,国际奥委会宣布世嘉承包了2020年奥运会全球赛的专有权,离2020年越来越近。2016年,国际奥委会宣布世嘉承包了2020年奥运会全球赛的专有权,离2020年越来越近。世嘉3月3

西北油田顺北分支断裂实现富集成藏认识突破|皇冠app 内蒙古地勘基金项目找矿成果丰
热门文章
上街区教研室教研员到区外国语小学开展英语听评课活动
皇冠app官方下载-科学家于遥远太空发现地球双胞胎
用“三朵云”赋能传统产业,科通芯城的产业晋级之路-皇冠app官方下载
【皇冠app】马力欧索尼克又双双来了!世嘉公布4款东京奥运会主题游戏
【皇冠app】《极限竞速:地平线3》今日登陆国服Win10商店
崩坏3V3.1体验服V2更新 海渊之眼12人副本挑战模式解锁【皇冠app】
皇冠app|黄芪常喝百病少,加一宝功效更好!便宜又好用
皇冠app官方下载_三门峡市举办首届网球交流赛
中国历代后妃制度沿革谈|皇冠app
皇冠app_海信发布六大防残影技术OLED电视进入成熟期
皇冠app|NOWLab通过3D打印制造“智能混凝土墙”
皇冠app-宇宙第一缕曙光的“追光者”——访天文学家武向平
森林里有什么? 恐怖冒险游戏《绿镜》首发预告:皇冠app
闪电瘦的减肥机理|皇冠app官方下载
皇冠app-产后可以喝蜂蜜水吗 蜂蜜水减肥法原理
客户案例
×