芯片型号:CC1310
最近买了一块基于CC1310的乐虎游戏RF-SM-1044B1模块,自己编译了一个固件。本来想下程序进去运行一下,遇到下载固件失败的情况,这里分享一些经验。
1.Contiki缺省设置没有enable bootloader, 通过如下设置启用backdoor,
修改contiki/cpu/cc26xx-cc13xx/lib/cc13xxware/startup_files/ccfg.c文件一下几项,
其中, bootloader触发设置为Select按键低状态
// #define SET_CCFG_BL_CONFIG_BOOTLOADER_ENABLE 0x00 // Disable ROM boot loader
#define SET_CCFG_BL_CONFIG_BOOTLOADER_ENABLE 0xC5 // Enable ROM boot loader
#define SET_CCFG_BL_CONFIG_BL_LEVEL 0x0 // Active low to open boot loader backdoor
#define SET_CCFG_BL_CONFIG_BL_PIN_NUMBER 0x0B // DIO11, 对应Select按键
#define SET_CCFG_BL_CONFIG_BL_ENABLE 0xC5 // Enabled boot loader backdoor
//#define SET_CCFG_BL_CONFIG_BL_ENABLE 0xFF // Disabled boot loader backdoor
2. 编译固件, 通过cjtag方式将新固件下载到CC1310模块中, 这样下次下载就可以通过按键触发进入Bootloader模式, 用串口通信方式下载固件
上电后, 按住select按键后, 按一下Reset按键, 松开Select, 通常contiki系统自检有个LEDs依次点亮熄灭过程, 如果看不到此现象,证明进入bootloader模式
3. 通过contiki系统自带的cc2538-bsl script或者最新版TI Flash Programmer2(1.7.2), 通过串口下载
A. Flash Programmer2 下载操作如下
B. linux下通过contiki自带的脚本下载
脚本详细信息链接: //github.com/JelmerT/cc2538-bsl
连上模块到linux系统, 察看设备目录, ttyUSB* 文件是否存在,然后敲入以下命令
cc2538-bsl.py -e -w -v -b 115200 cc1310-demo.bin
正常的输出信息如下图: