【无标题】

RTOS使用双堆栈,把任务栈和中断栈分开安全性更好

pendSV 专门用于任务切换,保存当前的任务现场,切换到另外一个任务中

pendSV是缓期执行

SVC必须立刻执行

所有中断服务程序都运行在handle模式,

至少有一位子优先级

寄存器有手动入栈和自动入栈,

内核相关的代码和任务都在SVC中断中执行:优势隔离开内核和任务

一种由程序进行触发的中断,默认开启

SVC  异常是必须立即得到响应的(若因优先级不比当前正处理的高,或是其它原因使之无法立即  响应,将引发HardFault)

2、

2.1、每个任务都有一个任务控制块,记录每个任务的各种信息

控制块第一个成员是栈顶地址,

ListItem_t            xStateListItem  ---  各种状态,如阻塞,运行,就绪

ListItem_t            xEventListItem; --  消息队列,事件标志组

总列表头List_t;

一个链表头List_t可以挂很多链表xLIST_ITEM

每个xLIST_ITEM都是一个任务

MiniListItem_t   xListEnd;在List_t列表的最后一个

****

最大优先级任务是多少就安排多少给这个链表

uxNumberOfItems表示一个列表下xLIST_ITEM的数目

****pxIndex遍历所有的xLIST_ITEM选项

*****xListEnd表示最后一个选项

双向链表

******2.2、不同场景xItemValue作用不一样

*********************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值