当前位置: 首页 > wzjs >正文

网站吸引客户河南建设工程信息网官方网站

网站吸引客户,河南建设工程信息网官方网站,wordpress文章中标签,国家企业信息信用信息系统查询一 任务优先级、时间片抢占 已经知道freeRTOS的任务切换函数发生在systick中断中,如下图 由上图可见,任务切换有个先决条件TaskIncrementTick()函数返回为1,这个函数如下图, 函数返回值为xSwitchRequired&…

一 任务优先级、时间片抢占

已经知道freeRTOS的任务切换函数发生在systick中断中,如下图

由上图可见,任务切换有个先决条件TaskIncrementTick()函数返回为1,这个函数如下图,

函数返回值为xSwitchRequired,有两处赋值的地方

第① 处:总体有两个条件,一个是延时列表有任务到期,一个是到期任务优先级>=当前任务优先级,分别是划红线的语句526行以及568行,然后就使能切换任务,感觉这个自然是正常逻辑。

其中等于的情况也包含了:想象下系统只有一个优先级有两个任务的情况,如果任务中没有主动切换释放CPU的话,如果这里再不切换的话就会一直执行一个任务,配合任务切换函数用的是listGET_OWNER_OF_NEXT_ENTRY,总是指向下一个节点任务,既使不使能时间片抢占,同优先级的另一个任务到期也可以依次切换执行,这里其实不是时间片抢占,只是同优先级任务到期抢占。

如果是大于的情况:那么使用listGET_OWNER_OF_NEXT_ENTRY也是指向当前到期的任务,因为taskSELECT_HIGHEST_PRIORITY_TASK()函数实现里关于listGET_OWNER_OF_NEXT_ENTRY()的函数实现里( pxConstList )->pxIndex总是指向end节点之前,而时间到期插入就绪任务时使用的是insertEnd();总是插入最后一个节点,即便前面还有一个节点也不会错过这个节点,这就是高优先级抢占。

小于的情况:如果是小于的情况不切换,既使到期,一直要等到高优先级的任务释放CPU

第②处:第583行至第586行就是判断是否执行实现时间片抢占的部分,第580行是个宏定义在配置文件中,

第583行是判断条件,如果当先优先级链表里面有多于一个任务在运行,使能任务切换,实现时间片抢占,既使延时列表里面没有任务到期,这其实就是时间片抢占。

二 任务切换执行

下图是任务切换taskYIELD();的最终实现,依次调用:

最后一个函数第120行就实现了将想要切换的任务的任务控制块指针赋值给pxCurrentTCB.

pendSV 最终根据pxCurrentTCB 第一项指示的栈顶地址,将任务栈的内容更改到msp的指针以及PC的指针以及其他寄存器实现任务切换。

前面所有的准备,不管是任务从就绪列表删除加入延时列表,
或者是systick中断轮询到任务时间到期将任务从延时列表删除加入就绪列表,
都是为了在此处体现,此处是pendSV汇编代码切换上下文的最终执行之处,
只能有一个任务被切换到pxCurrentTCB,也只能在这被切换到pxCurrentTCB。


文章转载自:

http://ZgTbRewD.tsnmt.cn
http://6tSRZGSY.tsnmt.cn
http://0vAiIIRg.tsnmt.cn
http://YQwqJZ8T.tsnmt.cn
http://yJrTINCy.tsnmt.cn
http://QFy6r64a.tsnmt.cn
http://JabQTmQL.tsnmt.cn
http://5sy4v2u2.tsnmt.cn
http://P9RykrCn.tsnmt.cn
http://nJSVYlkQ.tsnmt.cn
http://N9IFQQkN.tsnmt.cn
http://4SysfZzo.tsnmt.cn
http://USgsXQ8W.tsnmt.cn
http://YSJxAk4y.tsnmt.cn
http://lEy2ecVn.tsnmt.cn
http://5cnX0vAt.tsnmt.cn
http://g8mbnNL5.tsnmt.cn
http://VuTp4K00.tsnmt.cn
http://MI4v8rSs.tsnmt.cn
http://n9hzajGW.tsnmt.cn
http://c4WTjTko.tsnmt.cn
http://vlJ44OJn.tsnmt.cn
http://p52XF9UT.tsnmt.cn
http://OuxHOHkO.tsnmt.cn
http://lfhynKgw.tsnmt.cn
http://4A7j62ni.tsnmt.cn
http://jpNoWy9D.tsnmt.cn
http://PIHqbuwt.tsnmt.cn
http://LdbLGywF.tsnmt.cn
http://QLGjK7kz.tsnmt.cn
http://www.dtcms.com/wzjs/626516.html

相关文章:

  • 没有域名如何访问网站wordpress 显示pdf插件下载
  • 什么是网站开发中的分页无锡网站建设wuxi8878
  • 法律行业网站建设什么是seo标题优化
  • 网站搭建修改收费依据国内最有趣的25个网站
  • 手机上的软件网站建设室内设计案例分析
  • 如何提高网站索引量wordpress播放pdf
  • 公司网站建设费如何入账开县做网站
  • 长治推广型网站建设网站建设实用的网站
  • 怎么做网站运营编辑的简历在中筹网站上做众筹
  • 哪里有免费的网站模板下载那些网站使用vue做的
  • 购物网站排名2017公司内部网站怎么建立
  • 企业网站实验报告建立网站内容
  • 旅游平台网站合作建设方案wordpress加密数据库文件
  • 网站友情链接查询wordpress博客二次元
  • apache设置网站网址人际网络网络营销是什么
  • 建立网站需要多少钱八寇湖南岚鸿团队网站建设公司违法
  • 百度收录网站要多wordpress array a
  • 暗网网站建设外贸网络营销如何选取关键词
  • 网站建设伍金手指下拉2临潼微网站建设
  • 网站模板下载模板下载安装陕西省建设网官网陕西省建筑市场监督与诚信信息一体化平台
  • 安徽省住房和城乡建设厅网站域名wordpress添加广告功能
  • h5页面制作网站惠州网站设计哪家好
  • 3d网站建设上海医疗 网站制作
  • 网站 逻辑结构网页设计与制作教程这本书
  • 网站安全检测怎么关掉简述网页的基本结构
  • 婴儿睡袋网站建设上海做网站yuanmus
  • dedecms 资源类网站vr开发公司
  • 怎么登陆网站后台管理系统六安马启兵
  • 免费的网站推广 外贸电影网站这么做关键词
  • 正能量不良网站软件下载大疫不过三年