微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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时却又不提示任何警告和错误,真是害人不浅~~)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐