芯片型号:cc1310
模块型号:rf-sm-1044b1
最近买了一块基于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自带的脚本下载
脚本详细信息链接: https://github.com/jelmert/cc2538-bsl
连上模块到linux系统, 察看设备目录, ttyusb* 文件是否存在,然后敲入以下命令
cc2538-bsl.py -e -w -v -b 115200 cc1310-demo.bin
正常的输出信息如下图: