问题背景及现象描述
CC26xx的开发工具一般采用IAR,调试仿真比较方便。但是,定版的软件烧录的话用IAR会非常麻烦,而且如果你的工程配置了OAD方式,那用IAR是无法升级的。这个时候,更好的方式是采用TI的Flash Programmer 2烧录工具。
该工具的使用方式可以参考如下博文:
起初,我用的是1.6.1版本,在烧录我们公司的两个批次的芯片时都出现了烧录提示成功,但是设备无法正常运行的现象,后面排查问题的时候将烧录的选项中勾上了读回确认数据,发现写入的数据被改写了,问题现象截图如下:
通过读回比较,发现从0x39A4(page 3)开始,数据被改写了,改写的原因暂时不清楚,将改写之后的flash中的数据全部读出来存到bin文件中,然后将该bin文件再次烧录,发现不会再出现改写的情况,所以说明改写是固定的,而且每次都是改成特定的数据,此现象的原因暂时不得而知。
解决方法
在购买的开发板上实验,不会出现问题。然后将开发板的芯片拆下来焊接到我们的板子上,发现也不会出现问题,起初认为是我们购买的芯片有问题或者是我们购买的那个批次有问题,后来更换其他批次,也会有出现问题的,所以觉得可能并不是芯片本身的问题。在TI官网上发现 Flash Programmer 2 烧录工具还有其他版本,下载了 1.7.4 版本进行实验,发现本来用 1.6.1版本 烧录出现问题的板子都可以正常烧录了,截图如下:
所以,如果你也遇到跟我一样的问题,建议你换个版本试试,这个问题确实坑啊,耽误了一些时间。
该版本的工具安装程序可以到TI官网上下载,也可以点击下面链接下载: