闲谈swi与ucos-续篇

接上篇...
  • 其实SWI 正如我上文所述,SWI 只是主动的可预知的让自己中断,现在我们可以名正言顺的说 应用于ARM里尤其是Cortex-M 系列的SWI 应该就是所谓的自己去exception, 如PenSV。
  • 另外年龄大了,以前理解的比较常识性的东西,在进行另外一个技术深度研读时容易把以前的记忆冲涮变淡,比如以下这个问题:
什么情况下会用到栈的操作?噢!显然有个重要的场合如:正在执行的操作被打断转而执行另一个操作,这个现场保护必须用到栈操作。
  • 栈具有硬件特性,一般都是后台汇编或全硬件自动完成,并且实际硬件(一般都在MCU core里)也具有这个指针和栈帧。但是如果单线程的程序一般都不用考虑软件刻意的去给任务分配软件的栈存储空间,因为它总是一个线程的往下跑在时间轴上,它总是会原路返回接着断点跑,但是如果时多线程那就必须得有软件的私有栈空间了,因为多任务多线程的往下跑,每个任务的切换依靠中断或任务,它的机制为了满足实时而允许不返回,除非往下跑的时候轮到你了,你接着你上次(无法计划)断点继续。于是必须每个任务都有私有栈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值