蓝牙协议栈中的 OSAL
蓝牙协议栈里的操作系统叫做 OSAL(操作系统抽象层)。它并非一个真正意义上的操作系统,它只是实现了操作系统的一些功能,如任务切换、内存管理。
OSAL 产生的根源:基于蓝牙协议栈开发的产品,实际上是一个应用层的应用程序,而每个应用程序可以看成是一个任务,为了实现多个任务的切换、同步、互斥等,这时就需要一种机制来管理任务,而这种机制就是OSAL。
在BLE 4.0的协议栈中,任务被放在一个任务表里(我觉得任务和事件在此处应该是表达的一个意思),且每个任务对应这个任务的处理函数(用函数指针实现)。在协议栈运行之后,任务(事件)指针轮询任务表,当某个事件发生时进入其事件处理函数。这就是蓝牙协议栈的精髓吧。
在main()中,执行完 osal_start_system() 后整个协议栈才算是启动了,这个函数是实现 OSAL 的精髓,学习的部分有很多,体会如下:
转载于:https://www.cnblogs.com/lweleven/p/ble_osal.html
蓝牙协议栈中的 OSAL相关推荐
- C语言蓝牙协议栈讲解,蓝牙协议栈记录—BTStack
TSTack User Guid 翻译过来的 1.简介 2.BTStack 架构 BTStack在所实现的协议和服务之间采用很多状态机实现相互作用,特点: <1>单线程.BTStack只有 ...
- BlueTooth: 蓝牙协议栈的原理和结构
蓝牙,这个已经不是什么新鲜的技术了,相信大多数人都是了解的.那么对于这方面,我们可以在嵌入式操作中进行一下实现.在蓝牙系统中,为了支持不同应用,需要使用多个协议,这些协议按层次组合在一起,构成了蓝牙协 ...
- BLE学习(1):蓝牙协议栈的介绍
蓝牙官方(The Bluetooth Special Interest Group)定义了低功耗蓝牙(Bluetooth low energy,即LE)和基础/增强速率蓝牙(Bluetooth bas ...
- nrf52840蓝牙协议栈样例分析
蓝牙SDK的example 文件夹提供了开发BLE的模板工程,它具有通用性,可以为自己开发工程提供参考.打开examples\ble_peripheral\ble_app_template文件夹下 ...
- 三种蓝牙架构实现方案(蓝牙协议栈方案)
蓝牙架构实现方案有哪几种?我们一般把整个蓝牙实现方案叫做蓝牙协议栈,因此这个问题也可以这么阐述:蓝牙协议栈有哪些具体的架构方案?在蓝牙协议栈中,host是什么?controller是什么?HCI又是什 ...
- 蓝牙学习(二)-- 三种蓝牙架构实现方案(蓝牙协议栈方案)
蓝牙架构实现方案有哪几种?我们一般把整个蓝牙实现方案叫做蓝牙协议栈,因此这个问题也可以这么阐述:蓝牙协议栈有哪些具体的架构方案?在蓝牙协议栈中,host是什么?controller是什么?HCI又是 ...
- 3种蓝牙架构实现方案(蓝牙协议栈方案)
导言 不同的蓝牙架构可以用在不同的场景中.从而协议帧的架构方案也会不同. 转载自:https://www.cnblogs.com/schips/p/12293141.html <三种蓝牙架构实现 ...
- CC2540蓝牙协议栈开发简介
本系列教程将结合TI推出的CC254x SoC 系列,讲解从环境的搭建到蓝牙4.0协议栈的开发来深入学习蓝牙4.0的开发过程.教程共分为六部分,本文为第三部分: 第三部分知识点: 第十一节 串口通信 ...
- 一起学nRF51xx 18 - 蓝牙协议栈烧录
前言 在讲协议栈前我们先简要介绍一下NORDIC公司的协议栈特点: 1 协议栈和应用程序代码没有链接时间依存性,并可独立编译和更新 2 堆栈受运行时保护,应用程序访问受限或被阻止 3 堆栈为 100% ...
最新文章
- DotNet Core Console 程序使用NLog
- 线性表(二)——链表
- 新版ffmpeg PCM编码到AAC,swr_convert转换采样精度,稍微修改兼容PCM编码为G711A及MP3,记录下。
- 尝试为文件附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中...
- 两种AIDL用法分析(原)
- Python3之多线程学习
- PyCairo 中的文本
- Silverlight之工具箱使用1
- 第二届360杯全国大学生信息安全技术大赛部分解题思路(加密解密题)
- 持续集成(一)思想篇
- git——IntelliJ中配置使用git,码云管理项目
- 【NLP】NLP中各种各样的编码器
- Luogu1712 [NOI2016] 区间
- unrar在linux如何编译,rarlinux(rar\unrar在linux使用)
- 模糊C均值聚类 C++代码
- 5分钟商学院-个人篇-谈判能力
- 台式计算机驱动程序未被安装,Win10提示该设备的驱动程序未被安装。(代码28)
- TIBCO Rendezvous
- 保洁阿姨看完都会了!熬夜肝完这份Framework笔记,吐血整理
- 蓝桥杯基础练习合集一(C语言) 1.A+B问题2.数列排序3.十六进制转八进制4.十六进制转十进制5.十进制转十六进制
热门文章
- 《Fast R-CNN》阅读笔记
- C# 学生简单管理系统 数据库 1.0版本
- FAST算法学习笔记
- mysql入门到跑路_MySQL 24小时入门笔记(3),插入和删除,删库到跑路
- 显示文字_如何观看HBO Max并显示中文字幕?
- docker helowin 迁移_禅道在docker上部署与迁移
- 逻辑回归之,sigmoid ,交叉熵
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.54%
- SAP License:煤化工企业现场调研感想
- SAP License:SAP系统合规性审计介绍