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

时间: 2024-08-15 08:30:55

TI CC254x BLE教程 4的相关文章

TI CC254x BLE教程 2

连接更新请求(connection update request) 如果slave不满意现有的连接参数, 比如间隔, 延迟等等, 可以向master提出自己希望的参数范围 连接终止(connection termination) 1. master跟slave都可以终止连接 2. 如果超时时间到, 连接也自动终止 测试模式(direct test mode) 1. 允许一个tester设备对任何收发模式, 任何频道的设备进行监测. 2. 推荐的设备是Anritsu MT8852B, 对RF的性能

TI CC254x BLE教程 3

通用属性配置(Generic Attribute Profiles) 1. 数据在services里面以特征字(characteristics)的形式展示出来 如你所见, 特征字包含属性(Properties), 值(Value), 跟若干描述(Descriptor) 上面的截图描述了, 句柄在40的类型为0x2803的GATT特征字声明UUID中, 权限为只读, 里面的值又包含了 0xFFE1: 简单键值对自定义UUID 0x0029: 对应句柄41 0x10: 对应权限为notify 再看句

BLE资料应用笔记 -- 持续更新

BLE资料应用笔记 -- 持续更新 BLE 文档 小书匠 蓝牙 4.0 ●分Single mode与Dual mode. ●Single mode只能与BT4.0互相传输无法向下兼容(与3.0/2.1/2.0无法相通);Dual mode可以向下兼容可与BT4.0传输也可以跟3.0/2.1/2.0传输 ●超低的峰值.平均和待机模式功耗,覆盖范围增强,最大范围可超过60米. ●速度:支持1Mbps数据传输率下的超短数据包,最少8个八组位,最多27个.所有连接都使用蓝牙2.1加入的减速呼吸模式(sn

蓝牙4.0 BLE

读了N多文档,其中推荐的有: Webee的<蓝牙4.0是战演练> Ghostyu的 <BLE权威教程> 1:透穿实现: 利用TI的BLE包里的工程直接烧 上位设备用 central,下位设备用peripheral工程 做以下处理: central 的NPI初始化时添加uart CB,并在串口回调函数中 直接添加write char函数写进特征值(实现上位从串口接收并通过蓝牙发送), 使能特征值通知,并在通知处理事件中将数据从串口发送(实现上位的从蓝牙接受并从串口发送) periph

蓝牙4.0 BLE学习笔记

一.知识普及 1.蓝牙4.0分为两个部分: 1)Bluetooth Ready,兼容传统蓝牙的高速部分: 2)Bluetooth Smart,BLE(Bluetooth Low Energy),功耗低,速率低.最大传输速率4~5k字节/s: 2.BLE协议栈: 1)只是一个协议规范,BLE协议栈是该协议的代码实现:蓝牙组织SIG负责制定协议,芯片公司负责实现协议: 2)BLE协议栈是芯片公司预先编好的源码或者库: 3.CC2540/2541,CC254x就是一颗带有蓝牙功能的51单片机,BLE协

蓝牙BLE以太网网关在智能家居中的应用(基于W5500)

 已刊登至<无线电>六月刊 早在1994年爱立信公司就创立了蓝牙技术,并制定了基本的技术规范,原意是创造一种设备间通讯的标准化协议,以解决设备间通讯不兼容的情况,规范公布后得到大量移动设备制造商的支持,并于1999年成立蓝牙技术联盟(Bluetooth Special Interest Group),该联盟制定并维护蓝牙无线规范,并对设备制造厂商提供Bluetooth认证与授权. 当前影响最广的版本应该是蓝牙4.0,本标准中增加了Bluetooth Smart和Bluetooth Smar

蓝牙nrf52832的架构和开发

相比TI的CC254X.DIALOG的DA1458X,nordic推出的nrf51822和nrf52832在架构和开发商都有自己独特的地方.这几颗产品都是蓝牙低功耗芯片.DA1458X使用OTP硬件架构,功耗低,成本也低,但软件开发难度是个门槛,大团队才能做到量产,当然掌握了也是竞争力(想学习开发就参考博主之前的分享吧).如果对三种架构都很熟悉,然后从开发的角度做个比较,相信对nrf52832的架构和开发会更新青睐. 1. nrf52832有64K的ram和512K的flash,开发人员应该很喜

[ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)

1.Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收.协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议,进而实现无线数据收发. 如图1所示:Zigbee协议分为两部分,IEEE 802.15.4定义了PHY(物理层)和MAC(介质访问层)技术规范:Zigbee联盟定义了NWK(网络层).APS(应用程序支持层).APL(应用层)技术规范.Zigbee协议栈就是将各个层定义的协议都集合在一起,

如何快速理解一个全新的嵌入式操作系统

---基于TI CC254X OSAL的分析 当工具链配置完成后,Source Insight向你展示一份源码工程,不借助百度和开发文档,能否在一两个小时内理解源码的组成框架和接口,进行快速开发? 在笔者过往撰写的博文中,一直在倡导两个嵌入式学习和开发理念:提高嵌入式系统架构和软件层次形成大局观:掌握从需求的角度去理解新系统和技术这个方法论.在软件大局观作为学习新系统的背景知识的基础上,从软件需求的角度入手就能快速理解和掌握一个全新的系统.本文以TI蓝牙BLE CC254x的源码库和工程为例进行