• 蓝牙协议栈中的 OSAL


    蓝牙协议栈里的操作系统叫做 OSAL(操作系统抽象层)。它并非一个真正意义上的操作系统,它只是实现了操作系统的一些功能,如任务切换、内存管理。

    OSAL 产生的根源:基于蓝牙协议栈开发的产品,实际上是一个应用层的应用程序,而每个应用程序可以看成是一个任务,为了实现多个任务的切换、同步、互斥等,这时就需要一种机制来管理任务,而这种机制就是OSAL。

    在BLE 4.0的协议栈中,任务被放在一个任务表里(我觉得任务和事件在此处应该是表达的一个意思),且每个任务对应这个任务的处理函数(用函数指针实现)。在协议栈运行之后,任务(事件)指针轮询任务表,当某个事件发生时进入其事件处理函数。这就是蓝牙协议栈的精髓吧。  

    在main()中,执行完 osal_start_system() 后整个协议栈才算是启动了,这个函数是实现 OSAL 的精髓,学习的部分有很多,体会如下:

    当你坚持做一件完全正确的事情,有可能在很长一段时间内,你的价值都是零。
  • 相关阅读:
    前端工程师入门的阶段
    学习能力与思考能力
    翻译 前端面试题目
    css规范
    html规范
    javascript中apply、call和bind的区别
    Javascript高级程序设计学习笔记一
    css学习笔记四
    [LC] 23. Merge k Sorted Lists
    [LC] 234. Palindrome Linked List
  • 原文地址:https://www.cnblogs.com/lweleven/p/ble_osal.html
Copyright © 2020-2023  润新知