微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2650 OAD 外部flash

CC2650 OAD 外部flash

时间:10-02 整理:3721RD 点击:

1.按照《CC2640 BLE OAD User's Guide》这份文档进行off-chip oad的指导,我将BIM_ext直接download到了sensortag中,然后用smartRF flash programmer 2将OAD_FULL_IMAGE.hex烧入sensortag。烧入成功后,蓝牙收不到设备,复位后也收不到。只有在debug BIM_ext的时候,运行到

asm(" MOV R0, #0x1014 ");
asm(" LDR R0, [R0] ");
asm(" BX R0 ");

之后才收到SimplBLEPerpheral。

2.SensorTag的spi flash如何烧入其他的image文件,实现off-chip oad升级方式。现在通过smartRF flash programmer 2烧入的是内部flash的image,但是外部的flash如何烧入image?

yokay,

关于这个,其实完全是体力活:)

你只要照着guide仔细的一步步去做,就不会有问题,但是中间容易错一步的地方实在太多,所以要非常小心。

另外推荐你一个合并hex文件的工具:j-flash,这个比python好用。

通过smartRF flash programmer 2 烧入的永远是内部flash的image :)

如果用外部Flash的OAD,但是又没有加外部Flash。这时候,该如何烧写程序?

那个SimpleBLEPeripheral工程的FlashOnly_OAD_ST_ExtFlash编译生成的OAD_FULL_IMAGE.hex文件是通过smartRF flash programmer 2烧录的?还是通过OAD升级的?

BIM_ext的hex是直接通过IAR download的吗?

主要是外部Flash OAD,它内部的Image是用的哪个?又是如何烧录的?是要先把Image B烧入外部Flash,还是通过OAD写入Flash,然后通过Bim_ext启动?

——————————————————————————————————————————————————————————————————————

我把python写成bat了,直接单独合并。(发不了附件)

@echo off

set MERGE=OAD_merge.hex

set TARGETAPP=OADTargetAPP.hex

set BIM=BIM.hex

echo %TARGETAPP%

echo %BIM%

echo %BLESTACK%

del %MERGE%

echo python hexmerge.py -o %MERGE% -r "0000:1FFFF" --overlap=error %TARGETAPP%:0100:1FFFF %BIM%:0000:1F5FF %BLESTACK%:F000:1EFFF

python hexmerge.py -o %MERGE% -r "0000:1FFFF" --overlap=error %TARGETAPP%:0100:1FFFF %BIM%:0000:1F5FF %BLESTACK%:F000:1EFFF

echo get %MERGE%

echo merge sucess...

 

把hexmerge.py加在目录下,把编译的hex文件放在目录下,就可以合并了。地址分配根据需要改变。。

 

Y,

我使用2.1协议栈进行外部OAD升级,板子是自己公司自己出的,整个OAD过程都完成了,但是似乎程序没有升级成功,板子重新上电跑的还是原来的程序,请问是什么原因?

Y,

经过检查,发现在OAD过程中,抓了下对外部flash读写的波形,发现时CS脚没有被拉低,始终和数据都有信号,说明是OAD过程新的hex文件没有写入flash,我用的是SBP工程,但是底层的驱动官方的应该没问题啊,为啥就单单没有片选信号?用flash芯片是W25X20,引脚是跟SensorTag板子是一致的。请问这是为什么?

我的问题还是没有解决,麻烦回答我好不好?张彦大哥!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top