zstack 程序编译的HEX文件使用Flash_Programmer烧录时的问题



1. 如何使用IAR编译生成Flash_Programmer可以识别的hex文件

答:options->LInker选项里面,按下图选择:

 output file 选择default

文件名改为.hex文件

下面的format选择othrer,outout选择intel—extended

上面的debug information for C-SPY是仿真调试器选择,所以选择下面的选项后就不能调试仿真了

 

2.使用Flash_Programmer烧录hex文件时出现错误:“HEX file content at address 0xXXXX exceeds chip's 256 kB flash size”,如下图:

 解决办法如下:

找到

f8w2530.xcl文件,并打开。(这个文件在 “Projects\zstack\Tools\CC2530DB\”目录下,也可以通过IAR编译环境的左侧Workspace

窗口点开Tools文件夹看到)

在f8w2530.xcl文件中找到两行被注

释掉的语句:

           //-M(CODE)[(_CODEBANK_START+_FirsT_BANK_ADDR)-(_CODEBANK_END

+_FirsT_BANK_ADDR)]*\ 

         //_NR_OF_BANKS+_FirsT_BANK_ADDR=0x8000           

把这两行前面的“//”去掉,保存,重新编译,OK!

(注:去掉这两行的“//”后在编译输出成hex格式时没有问题,但在debug模式下编译会提示警告:Warning[w69]: Address translation 

(-M, -b# or -b @) has no effect on the output format 'debug'. The  output file will be generated but noaddress translation will be performed. 

不过并不会影响debug调试的使用。也许正是为了屏蔽掉此条警告,所以TI在发布Zstack时选择了认为debug模式才注释掉了这两行指令,但在编译hex时却又不提示任何警告和错误,真是害人不浅~~)

相关文章

  译序:JWMediaPlayer是开源的网页使用的Flash播放器。本...
    Flash编程原理都是只能将1写为0,而不能将0写成1.所...
 上传setenvgatewayip192.168.1.1;setenvserverip192.168.1...
Error:FlashDownloadFailed-"Cortex-M3"出现一般有...
jPlayer是一个用于控制和播放mp3文件的jQuery插件。它在后台...
#ifndef__FONTUPD_H__#define__FONTUPD_H__#include"sy...