ucos-ii ARM几种移植版本

 我来答
来建建飞英
2019-11-27 · TA获得超过4024个赞
知道大有可为答主
回答量:3173
采纳率:33%
帮助的人:236万
展开全部
说到移植UCOS-II最关键实现几个函数:
1.OSStartHighRdy,只被调用一次,在系统初始化时被调用,用来恢复第一个要运行的任务。一定来注意系统时钟还没有起来,这个工作应该放到第一个任务。否则会出现混乱。
2.OSCtxSw,进行任务切换,保存被抢占的任务,恢复将要执行的任务
3.OSIntCtxSw,中断退出时恢复任务的执行
4.中断处理函数:包括进入中断时的处理,调用具体中断处理函数,退出中断的动作
我主要参考了以下几个版本:
1.UCOS-II官方的版本。这个移植版本写的比较仔细,而且思路很清晰。并且对中断进行了统一处理。完完全全是按照UCOS-II指导来完成的。毕竟是官方的嘛。不过不做一下修改可能很难在板子上跑起来。
来这么点代码要组织成这样,没有点功底是不行的。效率比较高,但逻辑上就比较混乱了,不细心去看很难真正理解。也对中断进行了统一处理,非常方便就可以移
植到其他ARM处理器上。
3.最后一个是我自己移植的版本。看了前面两个的移植,感觉自己的移植太差了。虽然也是按自己的理解去写的,不
过有些东西还是处理不好,像中断嵌套,各种堆栈大小的处理,中断时任务上下文保存情况等等。呵呵,要是没缺点我也就不看他们的移植版本了。所以想结合一下
他们的优点,看是否能有更大的突破。
另外还查看了rtems有关的处理,它对任务切换处理超简单,而且并没有保存R0-R3寄存器,其对中断的处理部分写得更加简练,真的有时你会跳起来,太神奇了。呵呵,不得不对写这部分代码的人竖起大拇指,加点羡慕。
接下的工作,就是花时间来移植了。希望有了今天的准备,移植起来思路会更明确一点。参考资料:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浙江启扬智能科技有限公司
2023-08-23 广告
1、选择有良好技术支持的开发板:这意味着你付出的成本是否有价值。2、选择专业的开发板:这意味着你会省去很多开发步骤、无论从器件选型、接口驱动角度讲更贴近实际使用的功能3、建议:启扬智能的开发板不但接口丰富、专业程度高,用户甚至可以上门寻求帮... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式