This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
简单做了下面三条测试:
1、SmartRF Flash Programmer升级到最新版本SmartRF Flash Programmer 1.12.7.0 失败,问题依然存在
2、三个文件BIM.hex、ImgA.hex和ImgB.hex,仅下载其中一个全部下载成功。
3、Linker configuration file 配置确定分别为cc254x_f256_imgA_small.xcl和cc254x_f256_imgB_Large.xcl;
Texas Instruments -> Download配置确定仅勾选Retain unchanged pages
参考文档:
BLE Large Image OAD :http://processors.wiki.ti.com/index.php/BLE_Large_Image_OAD
OAD_for_CC254x_V1.2.pdf :http://processors.wiki.ti.com/images/8/82/OAD_for_CC254x.pdf
Hi alex,
imageA 和 imageB 在flash中存储的位置并非连续.
在flash中, 首先存放的是BIM, 接着是imageA的一部分, 接着是完整的imageB, 然后才是剩下的imageA.
所以我觉得flash programmer中如果你用append, 试图把imageB放到imageA之后, 肯能和imageB中定义的falsh起始地址有冲突之类, 造成错误.
你用IAR下载imageA, 接着下载imageB, 会有问题吗?
hi Yan,
测试环境:
IAR C/C++ Compiler for 8051 8.10.1 (8.10.1.40194)
BLE STACK BLE-CC254x-1.3.1.EXE FOR CC2540
使用IAR下载imageA, 接着下载imageB, 会有问题吗?
测试一:
完全不做修改,下载imageA成功,接着下载imageB,提示调试模式无法正常使用终止。
测试二:(开启Linker->Output->Format->Debug information for C-SPY)
下载imageA成功,接着下载imageB,能正常下载。
以上测试,映像文件下载命令一样:Make & Restart Debugger,imageA 和imageB 设置项Texas Instruments -> Download配置确定仅勾选Retain unchanged pages
兄弟,不知道解决了没有,这两天也在也就如何减少OAD-only的Image_A的体积,你说的这个例子,我看了一下xcl文件,发现ImageBd的xcl文件有点奇怪,看如下定义:
[code]
-D_CODE_BEG=0x4030 // Last 10 pages of Bank 0.
-D_CODE_END=0x7FFF
-Z(CODE)CHECKSUM=0x3000-0x3001
-Z(CODE)IMAGE_HEADER=0x3002-0x300F
-Z(CODE)AES_HEADER=0x3010-0x302F
[/code]
这样程序能正常运行吗?,没想明白啊