分类 cc2640r2f 下的文章

ti-rtos 异常解密


目录 [隐藏]I. 异常现象II. 解密异常III. 主动调试IV. 异常记录Undefined HWI 20Decoded : Hard Fault:FORCED:BUSFAULT:PERECISERR.Data Access Error.ADdress =0xc27101faHard Fault:FORCED:BUSFAULT:IMPRECISERRDecoded : Hard Fault: FORCED:BUSAULT:PRECISERR.Data Access Error.Address =0x20005000Decoded :Hard Fault:FORCED:BUSF...

ble5.0 蓝牙协议概述


目录 [隐藏]I. 介绍II. BLE 协议栈基础GAPHCIL2CAPSMGATT/ATTIII. 加入我们 Overview从这部分开始详细介绍蓝牙协议栈功能、接口、协议栈工程关联、实现协议栈的文件和任务,该任务也作为协议栈应用的最高优先级任务。TI 采用库文件的方式作为协议栈的一个主策略,尽管如此,还是需要开发者了解协议栈各个抽象的功能和相互作用。I. 介绍蓝牙 5.0 核心规范包含 LE 和 BR/EDR 两种设备类型,其中 LE 主要是设计为低功耗、小数据终端产品。BLE5.0 核心主要包含以下功能:2M Sym/s PLY 层设计(2M Symbol Rat...

simple_peripheral 应用框架


目录 [隐藏]I. Pre-main initializationII. ICALL介绍ICall BLE5 协议栈服务端ICALL 原语服务ICALL 初始化和注册ICall 线程同步示例 ICall 用法BLE-Stack 工程是如何作为 App 中 TI-RTOS 的一个任务运行的尝试走读一个 ICALL 的消息流程如何调试协议栈任务III. Simple Peripheral Task应用程序初始化功能任务功能中的事件处理任务事件IV. Intertask 消息使用 TI-RTOS 事件模块处理队列的应用程序消息请求和处理协议栈事件回调V. 加入我们 应用程序...

Generic Access Profile (GAP)


目录 [隐藏]I. 抓包理解以上连接过程II. 连接参数III. 连接参数设置策略连接参数更新连接参数优化IV. 连接终止V. GAP 抽象层VI. 配置广播参数VII. 加入我们 概述GAP 分层负责设备建立连接的相关功能,包括设备发现、数据链路建立、终止、初始化安全管理和设备配置,参见下图 1 。图1. GAP 分层的建立连接的示意图在 Standby 状态,双方设备都处于未连接状态。Advertiser 尝试广播数据,Scanner 接收到广播数据后尝试进行扫描请求,并且得到扫描回复。此时 Scanner 产生连接意图,转变成 Initiator 发送连接请...

Generic Attribute Profile (GATT)


目录 [隐藏]I. GATT 的 Profile 、Service 、Characteristics 、AttributesII. GATT 客户端抽象层III. GATT服务端抽象层IV. GATT Services 和 ProfileV. GATT 安全认证( Authentication )授权( Authorization )VI. 直接使用 GATT 层VII. GAP GATT 服务(GGS)VIII. 加入我们 通用属性配置文件(GATT)GAP 层负责连接相关的功能,GATT 主要是负责在两个已经连接的设备之间进行交互数据。GAP 层把 BLE ...

LE Data Length Extension


目录 [隐藏]I. 数据长度更新过程II. 初始值III. 数据长度扩展 HCI 命令和事件在连接后设置包长度IV. 在连接中设置包长度V. 加入我们 概要数据长度扩展( LE Data Length Extension )功能允许 LE 控制器在连接状态下发送高达 251 字节的 PDU,在连接期间的任何时刻,主从设备可以协商该 PDU 大小。对比 BLE4.0/4.1 的控制器数据通道最大有效载荷为 27 字节,使能数据扩展功能后的 BLE4.2/BLE5.0 能够达到 251 ,数据速率提高了大约 2.5 倍。I. 数据长度更新过程一旦建立连接,控制器将以两种...

BLE一次能传多少数据(ATT_MTU设置/LE Data扩展)


目录 [隐藏]I. 术语II. 分析III. 更改 simpler_peripheral 配置更大 MTU更改工程现象总结TroubleshootingIV. LE Data Extension抓包分析V. 加入我们 BLE 一次能传多少数据BLE 到底一包能够收发多少数据是很多开发者都会关心的。我们知道 BLE 5.0 物理层设计 2Mpbs 的码元率,实际数据传输速率远远到不了这个级别。主要原因是无法直接单次发送 1M 或者 1K 数据,必须按照我们知道的 ATT_MTU 作为最大值进行拆包发送,不断拆包的过程中导致整体蓝牙有效数据吞吐量下降。本章节,我们实用性出...

pack sniffer 用以ble抓包


目录 [隐藏]I. 使用安装界面功能开启蓝牙抓包过滤规则举例II. TroubleshootingIII. 加入我们 PacketSniffer BLE 抓包对于任何复杂协议的深入学习,我们都建议一个通用的学习方法,从规范->实现->抓包,规范是无关编程语言、语法文档表达,实现是各家SDK、API、源码,对于抓包则是对应实现理解规范。所以在BLE学习、研发过程抓包尤为重要。TI在这方面相比来说是做得相当好了,极大的简化了BLE的学习,熟练使用抓包工具,会大大降低蓝牙协议的技术入门槛,起到事半功倍的效果。对于蓝牙空中抓包,暂时地我们只有使用CC2540 USB ...

SemiHosting


目录 [隐藏]I. Console/TerminalIARCCSII. 对于Semi-Hosting我们如何使能和禁止使能/禁止依赖文件III. 参考IV. 加入我们 SemiHostingIAR和CCS都支持一种Semi-Hosting技术(半独立主机),这对产品早期开发的使用 printf和 System_printf 是非常方便的,轻易将调试信息打印在IDE的终端。但是一旦Semi-Hosting 使能,绝大的TI-RTOS例程在没有连接的IDE到时候不会运行,主要是因为类似 System_flush() API 需要等待IDE应答。区别其他IDE,CCS的握手机...

CC2650 Contiki 开发环境搭建


目录 [隐藏]I. 下载安装下载Instant Contiki安装 VMWare 虚拟机安装SSH工具FlashProgrammer2TroubleshootingII. 加入我们 CC2650 Contiki 开发环境搭建对于Contiki 6Lowpan所有开发资源,我们建议直接从官方推荐链接下载,同时我们维护一个百度云盘的链接。方便大家下载。Contiki Contiki-GitHubI. 下载安装下载Instant ContikiInstant Contiki是VMware的虚拟机镜像文件,Contiki已经部署好所有6LowPan交叉编译、仿真环境,同时打包好工...