1. 关于WSF
WSF(wireless Software Foundation API),是一个RTOS抽象层。Wireless Software Foundation software service and porting layer,提供实时操作系统所需的基础服务,可基于不同平台进行实现,移植也非常简单,适合RTOS场景与无实时操作系统场景使用。
该框架开源与packetcraft蓝牙相关协议栈中,项目地址:github: packetcraft/inc/stacks。最新版本:r20.05,用于蓝牙协议栈。主要开发者JYI,前ARM BLE软件团队研发总监,现为packetcraft CEO。目前开源部分协议栈版本仅支持到5.2。
Packetcraft协议栈软件是实现蓝牙低功耗链路层、主机、配置文件和网格规范的嵌入式协议栈的集合。
WSF的目标是保持小巧和精简,仅支持系统所需的基本服务。包括以下组成部分:
- 事件处理服务,支持事件和消息传递;
- 定时器服务;
- 队列和缓冲管理服务;
- 可移植数据类型;
- 关键区域和任务锁定;
- Trace and Assert诊断服务;
- 加密和随机数生成安全接口。
WSF不定义任何任务,但定义了一些与任务相关的接口,依赖于目标操作系统来实现任务,并通过目标操作系统的任务来管理定时器和事件处理服务。在没有操作系统的情况下,WSF也可以作为一个简单独立操作系统运行。
该项目最后更新时间为2020年,后应由packetcraft公司运营,部分代码并未继续开源,根据packetcraft官网介绍,当前其已经支持最新蓝牙协议到BLE 5.4,此外提供包括UWB在内的接入解决方案,以满足短距离无线技术的不断发展,使半导体企业能够通过更多功能和定制实现更大的产品差异化,此外,还提供包括最新的蓝牙测距技术(Channel Sounding)。
后续文章将陆续从以下几个点介绍:
- 接口:WSF都提供了哪些接口,有什么功能。ARM Cordio WSF(二)——API接口
- 移植:对于特定的硬件平台,如何移植WSF,以便用于应用中。
- 应用:在应用的开发中,WSF到底应该怎么使用。