CMSIS-RTOS是抢占式(pre-emptive)就绪态处于高优先级会先运行,处于就绪态相同优先级的线程会使用时间片轮转调度器获取运行时间片
注意:定时器回调函数不是while循环
同步线程触发可執行状态
fifo-like,从固定地址读取数据实际的数据在线程之间传递(实际数据放到队列里发送出去),发送数据类型为整型或指针发送之前鈳以申请格式化的内存块,官方给的Demo也支持类似邮箱队列操作
ticks)即如果传递进来的是buf指针,则最终实际传输的也是指针将我们要发送数據的buf指针放到队列里发送出去,如果编程传递进来的是实际数据的变量则最终实际传输的数据就是我们要发送的数据放到队列里。故消息队列既有邮箱队列功能又有传输实际数据功能因此CMSIS-RTOSV2取消了邮箱队列功能可能是这个原因。
数据放在固定内存块内存块指针在线程之間移动来传递数据(将内存块指针变量的值放到队列里发送出去),发送数据类型为一个memory block发送之前需要申请格式化的内存块
0),即对buf指针洅次取地址传递该函数的作用是将&mail地址的数据copy到队列里发送出去,而&mail的地址是我们要发送的buf的数据地址即将buf数据地址作为数据放到队列里,故邮箱队列传递的数据实际是指针
是信号量的特殊情况,一个线程只能访问一个共享资源同一时刻
相当于数值型信号量,多个線程可以访问多个资源同一时刻递减计数器
优先级反转:当一个任务A的优先级高于任务B的优先级,则正常情况下会出现任务A一直运行泹实际出现了任务B一直运行,违反了实时操作系统(内核抢占式)处于就绪态的高优先级先运行的原则称该现象叫做优先级反转
后续会根据理解接着补充...