zoukankan      html  css  js  c++  java
  • 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的源码)

  • 相关阅读:
    JavaScript-12(事件)
    JavaScript-11(DOM对象)
    JavaScript-10(去重数组)
    js中三元运算符的用法拓展
    JavaScript-5(常见题目-4)
    JavaScript-6(数组的大小排序)
    【CSP-S2019】10.28比赛总结
    【CSP-S2019模拟】10.27比赛总结
    JZOJ6392. 【NOIP2019模拟2019.10.26】僵尸
    【Comet OJ
  • 原文地址:https://www.cnblogs.com/Montauk/p/5530835.html
Copyright © 2011-2022 走看看