Flash Programmer 2软件安装及介绍
我们用IAR进行编译之后,生成的文件是“.hex”文件(默认情况下只生成hex文件,当然如果配置OAD空中升级,还会生成“.bin”文件,“.bin”文件的升级烧录方法请看CC2640 OAD的相关博文,如下连接:点击打开链接),这个文件是十六进制文件,编译的时候我们可以直接用IAR的仿真方式烧录,但是如果不需要编译的情况下烧录或者烧录多个文件的时候,用IAR去操作就相对麻烦一些。下面,我们一起来看看如何用TI的工具“Flash Programmer 2”来下载。
该工具可以从TI官网上进行下载,如果觉得打开TI官网太卡的话,可以从下面的链接进行下载:
http://download.csdn.net/detail/zzfenglin/9626337
安装过程比较简单,没有什么需要设置的,所以我们跳过安装过程。该工具安装完成之后,通过xds100v3仿真器将电脑与开发板连接起来。该软件具有发现目标、下载固件、读取固件、读取MAC地址,写第二MAC地址等功能,并且可以将Flash中特定地址区间的数据读出来或者修改特定地址的数据,还有锁定芯片的功能。
Flash Programmer 2的使用及功能介绍
搜索连接设备
双击“Flash Programmer 2”快捷方式,打开该软件,界面显示截图如下:
点击“Refresh”刷新设备,在XDS下的设备类型上点击鼠标右键,然后点击弹出的“Connect”,操作显示如下:
点击“Connect”之后,会在下方的“Status”显示执行过程,并显示连接的进度条,成功连接之后,显示绿色的“Success”,截图如下:
连接过程:
连接成功:
连接成功之后,我们就可以进行程序烧录,MAC地址读取,Flash数据读取及修改等等操作了。
Main--程序烧录
该工具烧录分为单个文件烧录和多个文件烧录。
1.单个文件烧录,配置截图如下:
成功烧录的时候会在“Status”下显示相应说明及“Success”:
2.多个文件烧录,配置如下:
大家一定要注意第二步中两个文件的先后顺序,一定是“Stack”文件在前,“App”文件在后。按照上述配置好之后,点击升级按钮即可完成烧录。升级成功的显示跟单个文件升级一样。
注意:不管是单文件烧录还是多文件烧录,被烧录的文件所在的路径中千万不能包含中文,否则会提示烧录失败。
Edit--Flash数据操作
界面截图如下:
从上图中,我们可以看到,操作过程区域选择的方式分别为All flash、Flash pages和Address。
1.All flash:就是选择整个flash空间。选中之后截图如下:
注意:后面的地址和长度都是固定死的,不能再输入了,其实它就是Address选项的极限情况。
2.Flash pages:选择之后如下图所示:
选择某个page或者某个范围的page,比如输入0,就是选择page 0区域;如果输入“0-3”,就是选择page0到page3区域。
3.Address:选择之后显示如下:
我们可以在“Address:0x”后面输入要选择的区域的起始地址,注意是十六进制的,然后在后面的“Length:”后面输入区域的长度,注意长度是十进制的。
从图1的右上角,我们可以看到有两个按钮“Read”和“Read Flash to file...”,前者是将所选区域的flash地址上的数据读出来,显示在下面的网格中;后者是将所选区域的flash地址上的数据读出来保存到一个文件中。
从图1的中间位置截图如下:
我们可以看到有三个按钮“Write”、“Save view to File...”和“Copy to Clibboard”。双击上面区域的某个要修改的小格,然后输入修改后的内容,点击“Write”就可以将修改后的数据写入Flash中。“Save view to File...”指令就是将修改后的保存到某个文件中。“Copy to Clibboard”指令是将修改的数据复制到黏贴板上。
Info Page--设备信息区域
该界面截图如下:
从上图中可以看到,可以操作的命令是读、写、复制到黏贴板和保存到文件。该选项读出来的是设备信息的内容,可以直接修改读出来的数据,修改之后点击“Write”即可。
MAC Address--MAC地址
该界面截图如下:
从上述截图中,我们可以看到每个CC26xx设备都有两个地址:Primary address和Secondary address。
1.Primary address:芯片固有的,出厂之后就固定的,只可以读,不可以修改的。上图中读出来的是“ A0:E6:F8:07:AD:82”,这个是我连接的设备的固有地址。
2.Secondary address:并不是芯片固有的,是保存在Flash中“0x1FFD0”地址上的,可以读,也可以修改,默认值是“FF:FF:FF:FF:FF:FF”。当该address被修改为其他值的时候,搜索设备显示的MAC就是该值了,比如上述我们修改为“FF:FF:FF:FF:FF:11”,然后点后面的“Write”,这个时候用BLE调试工具进行搜索,就会发现显示的MAC变成了“FF:FF:FF:FF:FF:11”。
题外:对于Secondary address的修改,我们可以通过代码来实现,实现的代码源码如下:
uint8 bdAddress[B_ADDR_LEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x11 };
HCI_EXT_SetBDADDRCmd(bdAddress);
这样,Flash Programmer 2的使用大致就了解完了。