• TI CC254x BLE教程 4


    TI的CC254x芯片

    1. SoC

    2. RF收发器+8051MCU 128/256KB Code空间.

    3. Master或者Slave

    4. 可编程flash

    5. 8KB SRAM

    6. 全软件协议栈, 无版权问题

    7. 21个GPIO口, 2个UART或者SPI, 全速USB2.0, 2个16bit, 2个8bit计时器

    8. 硬件AES加密

    9. 8通道8-12bit ADC

    10. 40pin 6x6x0.85mm QFN封装

    IAR开发

    值得注意是的上面的地方, 不知道Keil有没有类似的功能, 估计也有, 但是我没用过, 这个好用的地方在于, 你可以在代码中直接define一些东西, 然后将前提条件放在IAR的这个界面中赋值, 比如你不需要LCD, 那么你照写跟LCD有关的代码, 只是同时写上编译条件, 在你需要LCD的时候, 在IAR的compiler里面加一行HAL_LCD=TRUE, 记得是TRUE, 不是TURE, 别问我为啥反复说这个.

    Build完你的项目后, IAR会生成一个映射文件来统计编译结果, 在output文件夹下.

    如果你要写一个基于CC254x的应用程序, 有5个主要部分:

    1. OSAL OS抽象层, 就是一个极简的操作系统模型, 帮助利用任务事件(task event)来实现多任务切换, 不是实时操作系统, 也不是可抢夺的, 任务是一个个被执行的.

    2. HAL 硬件抽象层

    3. Demo用的应用程序

    4. BLE协议栈

    5. 配置, GAP, GATT service, GAP security

    应用程序启动过程:

    首先执行simpleBLEPeripheral.c中的SimpleBLEPeripheral_Init() (用户自己的源码)

    然后进行配置:

    peripheral.c里面的GAP配置: 包括广告信息, 连接间隔, 扫描响应.  (TI的源代码)

    simpleGATTProfile.c里面的用户配置: 包括特征值1, 特征值2...(用户自己的源码)

    gapgattserver.h里面的GAP GATT server配置, 包括设备名, service等等 (TI的库)

    gapPeripheralBondMgr.c里面的Bond配置: 比如配对用的秘钥, IO相关等. (TI的源码)

  • 相关阅读:
    ElasticSearch 深度搜索、滚动搜索,批量操作
    ElasticSearch搜索
    Elasticsearch 建立ik中文分词器和自定义分词
    React-Redux
    高阶组件-HOC
    React Context使用
    将秒数转换为时分秒格式
    『TensorFlow』TF2的模型保存
    『一图流』基于CRNN的OCR张量流概览
    Dapr微服务应用开发系列0:概述
  • 原文地址:https://www.cnblogs.com/Montauk/p/5530835.html
Copyright © 2020-2023  润新知