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的源码)

原文地址:https://www.cnblogs.com/Montauk/p/5530835.html