一、大致情况介绍
目前使用CC2640R2 launchpad ,如图1所示。目前需要对CC2640进行bootloader操作,使用DIO6和DIO7作为UART的TXD和RXD,使用DIO23作为back door enable的控制端口。但是bootloader功能便失败了。请问我 哪里出错了?
图1
在CC2640R2 LAUNCH PAD 上进行两个测试实验,实验内容为利用UART串口实现bootloader功能,进而实现程序升级。实验序号分别为1和2.其中实验1失败,实验2成功。两个实验的差别在于IO口的选择不同,如图 2所示。
图2
序号1的实验中,simple_peripheral 工程rebuild之后,生成的bin文件名称为“simple_peripheral_cc2640r2lp_app.bin”,该文件在附件中。
二、我的具体步骤如下:
1、使用SDK中的simple_peripheral工程。首先更改UART的IO口。在CC2640R2_LAUNCHXL.h中更改UART的IO口,如图3所示。同时注释掉CC2640R2_LAUNCHXL_PIN_RLED和CC2640R2_LAUNCHXL_PIN_GLED,如图4所示。
图3
图4
2、在CC2640R2_LAUNCHXL.c中注释掉GPIOCC26XX_DIO_07和GPIOCC26XX_DIO_06,如图5所示。
图5
3、然后更改back door enable的控制端口。在ccfg.c中更改SET_CCFG_BL_CONFIG_BL_PIN_NUMBER为DIO23,如图6所示。
图6
4、在CC2640R2_LAUNCHXL.h中,注释掉与DIO23相关的宏定义,如图7和图8所示。
图7
图8
5、在CC2640R2_LAUNCHXL.c中,注释掉与DIO23相关的参数,如图9和图10所示。
图9
图10
6、使用USB-TTL,将CC2640R2 LAUNCHPAD上的DIO6和DIO7与笔记本电脑连接,如图11所示。同时断开CC2640R2 LAUNCHPAD上的RXD和TXD,如图12所示。这样做是为了断开CC2640R2 LAUNCHPAD上的默认的UART端口。
图11
图12
7、将simple_peripheral project编译并下载到CC2640R2 LAUNCHPAD 中。在DIO23拉低的时候,按下reset,然后DIO23恢复悬空状态。最后使用sblAppEx.exe写入bin 文件,但是显示cc2640不处于bootloader状态, 如图13所示。
图13
三、关于bootloader的官方资料的链接
(1)bootloader说明文档
www.ti.com/.../swra466a.pdf
(2)sblAppEx.exe的下载链接
www.ti.com/.../getliterature.tsp
四、我的附件
(1)simple_peripheral_oad_onchip 工程在我的电脑上的位置
C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral_oad_onchip
(2)链接1:下载hex2bin 软件
sourceforge.net/.../
(3)simplelink_cc2640r2_sdk_1_40_00_45 可从如下路径下载:
dev.ti.com/.../
(4)CC2640R2 launchpad 可从这里购买:
www.ti.com/.../launchxl-cc2640r2
(5)源代码可从这里下载。(包含CC2640R2_LAUNCHXL.h 、 CC2640R2_LAUNCHXL.c 、 ccfg.c、序号1的实验中使用的“simple_peripheral_cc2640r2lp_app.bin”文件)
五、我的开发环境
CCS:Code Composer Studio 7.2.0
SDK:simplelink_cc2640r2_sdk_1_40_00_45
hardware:CC26640R2 launchpad develop kit
系统:win7 64 位