1. 如何进入
cc26x0内部rom含有引导程序boot code与引导加载程序bootloader。boot code在上电时执行,并根据CCFG(自定义配置参数,后续介绍)相关配置决定进入bootloader 或者 flash中的用户 application。bootloader提供给了通过串口或spi接口访问内部flash的功能,比如擦除、编程及读取,主要应用与烧录软件,特别是生产时烧录,cc26x0 boot code启动流程如下图。
2. CCFG
cc26x0 flash最后一页为设备参数配置区,其中需要用户配值的称为自定义配值Customer Configuration area,简称CCFG,能配置包含启动参数、镜像有效性、mac地址等参数,含有以下寄存器
2.1 镜像有效性 CCFG.IMAGE_VALID_CONF
表示flash中是否具有有效镜像,在boot code启动流程中引用。该寄存器值为0表示有效。
2.2 bootloader 参数 CCFG.BL_CONFIG
寄存器CCFG中的BL_CONFIG寄存器为boot code启动配值,页偏移地址为0xfd8,其字段内容如下。
BOOTLOADER_ENABLE
使能时bootloader会处理串口命令,否则不理会。注意:不表示是否会进入bootloader
BL_LEVEL、BL_PIN_NUMBER、BL_ENABLE
当BL_ENABLE使能时,如果BL_PIN_NUMBER指定的io电平为 BL_LEVEL指定的值,那么即使 CCFG.IMAGE_VALID_CONF为有效值也会进入bootloader
2.3 CCFG的配置
CCFG参数可在ccfg.c中配置,TI例程中默认配置是为了方便开发测试,最终产品应禁止BOOTLOADER_ENABLE与BL_ENABLE
3. 硬件接口
硬件bootloader使用的硬件接口
4. 上位机程序
TI提供了使用visual studio c++ Express 2010实现的源码库SBL与例程,实现了与bootloader串口通信的协议,下载地址:
http://www.ti.com/lit/zip/swra466
通信协议详细请参考《CC2538/CC26xx Serial Bootloader Interface》
TI 的 flash 编程软件 SmartRF Flash Programmer 2 也支持通过串口与bootloader通信并编程cc26x0内部flash。
重要声明:上位机的可行性作者本人并未去验证。
参考文档
《CC2538/CC26xx Serial Bootloader Interface》
《CC13x0, CC26x0 SimpleLink™ Wireless MCU Technical Reference Manual》
转载请注明出处:https://blog.csdn.net/jason_lm/article/details/80874286