CC2538 /CC26xx Serial Bootloader Interface中文版
### CC2538 /CC26xx Serial Bootloader Interface 中文解读 #### 概述 本篇文档针对的是TI官方发布的CC2538 /CC26xx Serial Bootloader Interface文档的中文版本,主要围绕着如何使用CC2538和CC13xx/CC26xx器件ROM中的串行引导程序来进行详细解析。本文档不仅适用于想要深入了解CC2538 Bootloader通信过程的专业人士,也适合那些希望通过UART和SPI协议进行基本操作(例如擦除和编程器件闪存)的技术人员。 #### 引导程序介绍 - **目的**:CC2538和CC26xx(包括CC13xx/CC26xx系列)设备上的内置引导加载程序(Bootloader)的主要目标是支持通过SPI或UART将flash映像编程到设备flash中的功能。此文档详细介绍了如何利用引导程序执行这些基本操作。 - **传输层**:引导程序支持UART和SPI两种传输方式,本文档将重点介绍UART的使用方法。 - **安全性**:由于引导程序能够读取flash中的内容,出于安全考虑,也可完全禁用引导程序功能。这些配置均在CCA/CCFG(客户配置区域)中完成。 #### ROM Bootloader详解 - **启动条件**: - 如果在CCA/CCFG区域中的“imagevalid”字段确定闪存中没有有效的应用程序映像,则引导加载程序会在加电复位后开始运行。 - 或者,如果启用了所谓的“引导加载程序后门”并且相应的引脚设置为正确的逻辑级别,引导加载程序也会启动。 - 启动后的10ms内,引导加载程序即可与外部主机进行通信。 - **配置引导程序**: - **CC2538**:CCA(客户配置区)位于最高闪存页,其绝对地址取决于设备的闪存大小。其中有一个8位字段用于配置引导加载程序的后门功能。表2详细展示了该字段的结构,其中包括了可以用来打开后门的引脚(PA0-PA7)的选择方式。 - **CC26xx**:用户配置区域被称为CCFG,同样位于最高闪存页,绝对地址同样取决于设备闪存大小。CCFG中的一个32位字段用于配置引导加载程序和后门功能。表4详细展示了这个配置字段的结构,包括了用来选择哪个引脚作为后门引脚的方式。 - **通信协议**: - **数据包格式**:无论是SPI还是UART传输层,数据包的格式保持一致。具体格式如表5所示,每个字段的描述见表6。这包括了命令包、数据包等的定义。 - **ACK/NACK机制**:接收方应以ACK或NACK的形式响应,以确认命令是否被正确接收。表7中列出了ACK和NACK的具体形式。 - **波特率自动检测**:UART引导程序支持波特率的自动检测功能,这意味着可以使用低于最大值的任何波特率进行通信。对于CC2538,最大UART波特率为460800波特;而对于CC26xx,则为1.5M波特。 - **接口配置**: - **硬件引脚**:表8列出了ROM引导程序用于UART和SPI通信的硬件引脚。 - **UART配置**:UART数据格式固定为8个数据位,无奇偶校验和一个停止位。UART引导程序支持自动波特率检测。 #### 总结 CC2538 /CC26xx Serial Bootloader Interface文档提供了深入的指导,帮助开发者理解并实现CC2538和CC13xx/CC26xx系列设备ROM中的引导程序功能。通过本文档的学习,读者可以掌握如何通过UART和SPI协议来执行诸如擦除和编程闪存的基本操作。此外,还介绍了引导程序的启动条件、配置方式以及与外部主机通信的详细步骤。这对于进行嵌入式系统开发、特别是涉及ZigBee等无线通信技术领域的工程师来说是非常宝贵的资源。
- 粉丝: 3
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助