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.

cc2530 OAD修改boot区大小的问题

Other Parts Discussed in Thread: CC2530, Z-STACK, CC2531

各位坛友,大家好,

我在做cc2530程序升级的时候,因为一些具体需求,需要扩大boot区的大小(之前按OAD相关文档的配置已成功)。我尝试修改oad-boot.xcl和oad.xcl文件,主要是修改了oad-boot.xcl

-D_CODE_START=0x2000
-D_CODE_END=0x7FFF // Last address for ROOT bank.

和oad.xcl的

-D_CODE_START=0x0000
-D_CODE_END=0x1FFF
//-D_CODE_END=0x07FF

因为具体的应用(我是采用串口对程序进行升级),所以没有设置校验什么的。

但是似乎只有在设置boot为2KB的时候,程序能够正常执行,设置为8K或者20K的时候,芯片从boot程序中跳到响应的位置执行时,就不能成功了

我想咨询下各位同行,问题出在哪里,十分感激,附上我修改的文件

cc2530.rar
  • 焦急等待中啊,有知道的朋友跪求了,可怜的码农啊

  • 首先建议你使用OTA,在协议栈安装目录下有关于OTA的文档 Z-Stack OTA Upgrade User's Guide.pdf

    OTA是ZigBee Alliance推出的针对空中程序升级的标准。

    OAD是早期TI自己推出的针对空中程序升级的标准。

    两者在实现思想上几乎一致,只是一些命令不同。

    中断向量的偏移量也需要修改。

    - in interrupt_stubs.s51: OFFSET   EQU    0x800 0xC00

  • 真心感谢你,我仔细看过贵公司的OAD升级方式,但是针对我们具体的应用,不太适合这样升级。所以我们采用的是串口,或者USB(CC2531)接口来从电脑升级。你最后一句话,点醒了我,通过修改interrupt_stubs.s51文件,我成功的下载了程序并运行。祝你好人一生平安!

  • 你说的应该是通过Serial Bootloader 进行升级,通过串口/USB来进行程序的升级。

    请参考

    Serial Boot Loader for CC2530.pdf

    C:\Texas Instruments\Z-Stack Home 1.2.0\Documents\CC2530

  • 是的,串口升级的方案我已经做出来了。现在根据客户的需求,需要用cc2531,将设备枚举为大容量存储设备,类似一个U盘或者读卡器。

    我看了贵公司cc2531的例程,里面有枚举为HID设备和CDC设备的。我想咨询下,有没有cc2531枚举为大容量存储设备的例程,或者能否提供些相关的资料供参考。

  • 应该可以去驱动里面去改的,具体也没有做过。