啥叫系统跑起来&啥叫arm的'任务'压栈

本文通过生动的比喻解释了系统运行的本质,将其比作被不断鞭打旋转的陀螺,并探讨了中断在系统运行中的作用。同时分享了uC/OS中关于任务切换时压栈的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

就和抽象和封装说法一样,一般口头说“系统跑起来”,啥叫“跑起来”呢,很费解,也不形象,最近看了ucos一段话才感觉有点意思:系统的运行不是跑起来,而是像陀螺一样被鞭打才能被动地转动起来,鞭打源很简单,就是中断:定时中断、systick、外部中断。。。而附加在系统上的程序,只不过是鞭打过后的惯性转动过程,运行了一会儿就再抽一鞭子,接着转。。。。。。。。

然后忽然联想到:系统设计是不是就应该像陀螺一样,中断连着来,那就是抽的快了,陀螺也转的快一点,中断少了,就保持陀螺不倒就行,这样的系统运行是不是优秀的???



程序进程、任务切换时的压栈好像都是汇编做的,很想看,但是看不懂,幸好ucos在任务初始化时用c模拟了新任务的压栈代码,特地拿来共享:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aazhoukeaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值