分类 mcu 下的文章

sample light/switch 代码走读


目录 [隐藏]I. osalII. data linksample light 建立网络sample switch 加入网络并且交换密钥sample switch 执行开关命令sample light 执行远程开关命令 sample light/switch code review对于抓包详细走读 sample_light/switch 工程。I. osalosal 是ti cc25x0 系列用以实现ble、zigbee 复杂协议栈的一个操作系统抽象层,算不上一个完整的操作系统,但是也完成操作系统内核的部分功能,可以总结为一个基于事件驱动的优先级任务管理,同时实现了任务间...

zigbee 协议概述


目录 [隐藏]I. mac 802.15.4II. network layerIII. application layerzdozclbdbIV. zigbee frame construct zigbee protocol overview摘要:zigbee 协议是异常庞大的知识体系,入门到精通是一个需要注重方法的过程。重心需要放在协议的学习,很多初学者,包括我都早期都是把zigbee当成了单片机学习使用,本末倒置。剥茧抽丝,这里直接开始协议概述。对于复杂协议的深入学习,我们都建议一个通用的学习方法,从规范->实现->抓包,规范是无关编程语言、语法的自然语...

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...

cc2530 存储架构


目录 [隐藏]I. 8051 CPU 架构XDATACODEII. 疑问III. 从Hex文件找出变量的NV值 cc2530 存储架构在理解CC2530的51内核存储结构上面吃力了。先提出疑问,在swru191f-CC253xSystem-on-ChipSolutionfor2.4-GHz IEEE 802.15.4andZigBee® Application .pdf上面介绍如下的存储空间,但是确找不到对应的sram和256kb的flash 映射空间。I. 8051 CPU 架构在CC2530的Dtasheet上面详细介绍了8051 CPU的存储架构swru191f-...

STM32CubeMx


STM32CubeMxC:Program FilesSTMicroelectronicsSTM32CubeSTM32CubeMXhelpUM1718.pdfSTM32CubeMx 是一个STM32的图形化配置工具,可以作为STMCube 工具独立使用,也可以作为Eclipse的插件。主要包含以下主要工功能:覆盖所有STM32的选型;所有ST官方开发板选择;快速配置(引脚、时钟、外设、和中间件软件)以及产生相应的C代码;通过先前的配置快速切换选型;轻松导出到兼容的配置到兼容MCU;产生配置报告;通过选择IDE生产对应工程代码;功耗计算;如何产生配置代码File->New Projec...

stm32cube programmer


目录 [隐藏]I. 工具软件ST-Link USB烧写工具驱动安装硬件连接II. Flash 烧写工具 STM32CubeProgrammerOLD ST-LINK firewareNo ST-Link device detectedST-LINK error (DEV_NO_DEVICE) stm32cube programmer 固件烧写I. 工具软件ST-Link USB烧写工具官方产品介绍页面提示:所有固件工具都提供官方在线连接,实在找不到就找我(李洁)要。驱动安装初次使用ST-Link需要安装驱动, 如果已经安装过Keil或者STM32CubeProgramme...

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 发送连接请...