QQ 群:177341833 公众号:Bluetooth-BLE 论坛:bbs.codertown.cn
RivieraWaves 内核笔记
1、 概括
1.1、特征
RW 内核是一个很小和高效实时操作系统,有如下特征:
消息交换机制
消息保存
时钟管理函数
内核提供一个事件处理函数用于某些定义了的行为
1.2、源文件结构
文件中包含创建和删除一个任务的调度,也包含调
度机制。
包含创建和删除一个定时任务的调度,也包括定时
器调度机制。
1.3、头文件
为了使用内核提供的服务,需要包含以下两个头文件:
ke_task.h
ke_timer.h
1.4、内核环境
内核环境结构包含事件、定时器和消息管理的队列:
evt_field:发送信息队列,但还没有递送到接收器;
queue_sent:发送消息队列,但还没有递送到接收器;
queue_saved:递送消息队列,但是没有被接收器处理;
queue_timer:定时器队列
mblock_first:指向第一个连接列表元素的指针。
如果使能内核设定,则一下内容会被加入:
max_heap_used:内核使用的最大堆内存;
queue_timer:递送消息队列,但是没有被接收器处理。
2、 消息
2.1 概述
消息队列提供向任务发送一个或多个消息的机制,两个队列被定义如下:
queue_sent:发送消息队列,但是还没有递送给接收器;
queue_saved:递送消息队列,但是还没有被接收器处理。
完成消息发送有三个步骤:
发送任务分配一个消息结构空间;
填充消息参数;
消息结构压栈至内核。
消息是通过一个唯一 ID 识别的,该 ID 包含任务类型和一个增长的数。以