RTOS应用

RTOS系统配置为抢占式。

BLE RTOS应用最小任务集如下:

Priority

Description

TIMER TASK

Highest

Handles all RTOS timers and its’ related messages

BLE TASK

Highest - 1

Handles all BLE protocols and events

IDLE TASK

Lowest

Handles the low power flow

所有BLE事件的产生都在BLE TASK上下文。

由于BLE API不是线程安全的,因此除非确定不会重入的情况下,所有BLE API都需要在BLE TASK上下文调用。

OS Tick & Tickless Idle

OS Tick利用BLE硬件定时器产生,节省了其他硬件定时器资源,同时基于BLE硬件定时器的补偿机制,可以实现准确的Tickless Idle后Tick补偿。

BLE广播、连接应用在固定周期的数据收发后,系统进入IDLE TASK,若LP0休眠检查通过,则进入LP0,此时OS Tick不会再周期性地更新。系统唤醒后,会重新使能周期性OS Tick,并根据OS Tick实际暂停时间,补偿OS Tick计数,以保证OS的计时机制准确。