搜索
bottom↓
回复: 7

用各个中断来构建嵌入式实时操作系统的可行性分析

[复制链接]

出0入10汤圆

发表于 2015-4-28 11:01:55 | 显示全部楼层 |阅读模式
本帖最后由 10xjzheng 于 2015-4-28 11:02 编辑

嵌入式实时操作系统的的任务切换的本质就是中断切换。
我在想,如果main函数中不运行实质性的程序,相当于uC/OS-III的空闲任务,然后在各种中断中运行程序,根据这些中断的优先级,好像也可以构造出跟嵌入式实时操作系统一样的程序运行流程。
比如在嵌入式系统中A任务50ms执行一次,B任务20ms执行一次,A任务的优先级比较高。那么就可以设置A任务在某个50ms定时一次的中断中,并且优先级比较高。B任务在某个20ms定时一次的中断中,并且优先级比较低。
缺点:移植性降低(代码写得好,这个也是可以尽量避免的),对MCU的要求比较高,一个任务需要有一个中断,并且中断要有优先级,可以嵌套,另外要设置中断的堆栈比较大。另外一个致命的就是没有办法自动从高任务切换到低任务,比如A任务在某个时刻想放弃CPU使用权,这个时候应该轮到B了,但是没有办法。
大家一起来讨论下,就算我这个想法存在致命性错误也没有什么关系,就是灵光一闪想出来跟大家讨论讨论而已。

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入10汤圆

 楼主| 发表于 2015-4-28 11:16:47 | 显示全部楼层
可能有的人会认为这样子做完全没有什么意义,我觉得还是有的,在平常的程序中,我们可能需要一两段程序的执行优先级比较高就可以高一两个中断来弄,可能这对大家来说司空见惯,但是其本质跟任务切换就是有点像。

出0入4汤圆

发表于 2015-4-28 11:19:45 | 显示全部楼层
功能简单时,用前后台即可,就是你这种用法,复杂的还是老老实实上系统吧。

出0入0汤圆

发表于 2015-4-28 11:23:58 | 显示全部楼层
操作系统不只是任务切换,还有线程通信,同步,互斥,资源管理,等等

出0入10汤圆

 楼主| 发表于 2015-4-28 11:35:02 | 显示全部楼层
嗯嗯,这里只说任务切换部分

出0入0汤圆

发表于 2015-4-28 13:43:29 | 显示全部楼层
亲,你这个就是前后台啊.
一般来讲OS最起码要有进程管理或者调度,内存管理,进程间通信之类的可以作为构建应用的基础设施.
你这个连调度器都算不上.
当然,有这样的想法是好的.推荐去看<<时间触发嵌入式系统设计模式:使用8051系列微控制器开发可靠应用>>
看完了,你就知道应该往哪个方向去了.

出0入0汤圆

发表于 2015-4-28 16:10:30 | 显示全部楼层
楼主还不懂什么是操作系统,建议先科普学习一下。
而且楼主代码写的还不够,思路还是比较窄,先把单片机玩熟了,再谈“架构”问题

出0入10汤圆

 楼主| 发表于 2015-4-28 18:12:41 | 显示全部楼层
呵呵            
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 17:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表