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模式才注释掉了这两行指令)


你可能感兴趣的:(嵌入式)