微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 关于使用CCS 7.0生成Bin问题

关于使用CCS 7.0生成Bin问题

时间:12-23 整理:3721RD 点击:

芯片是CC1310  ROM 128K版本, 我按照之前提问的网友的方法在编译上加入

"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}"
"${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd"
"${CG_TOOL_ROOT}/bin/armhex" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"

编译出来的Bin文件很大,目前代码功能还没加入OAD升级功能,源HEX就已经达到 125K, BIN 128K , 我担心整合了OAD后,固件会变得更大而无法烧录,按理来说bin 应该会比hex小吧?

以下是我部分配置(实际芯片是CC1310, 配置用的是1350,毕竟通用嘛?)

关于应用程序占用的memory size,不是看生成的hex文件的大小,而是在.map文件中查看

例如,rfEasyLinkRx_CC1310DK_7XD_tirtos_ccs例程生成的hex文件大小为106k

但是查看rfEasyLinkRx_CC1310DK_7XD_tirtos_ccs.map可以看到

MEMORY CONFIGURATION

name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
FLASH 00000000 00020000 0000ad44 000152bc R X
SRAM 20000000 00005000 00002c2f 000023d1 RW X

说明Flash使用了44k左右,Ram使用了11k左右。

非常感谢您的提示。 虽然在.map文件中查询得到很小的bin文件。实际上工程文件目录上还是很大。

.map 查询的到 bin 大小是51K

工程文件目录查询到 bin 大小是128K

在实际OAD应用上,128K真的是太大了。

不知是不是编译配置的问题? 实际上我使用以下配置代码编译出来的总是那么大,我只是想得到一个小一点的真实的bin文件用于OAD。谢谢

"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin"

"${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd"

"${CG_TOOL_ROOT}/bin/armhex"

"${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"

你可以使用bin查看工具打开bin文件看看,里面后面大部分内容应该都是0xFF

也就是说生成的bin文件是把整个128k空间填入的内容,后面全0xFF的空间其实并没有用到

你可以试试生成几个占用Flash空间大小不同的程序,对比一下他们生成的bin文件的大小和内容就知道了

的确是这样。打开Bin文件后发现的很多FF, 但是并不是连续的全FF。 我怀疑是否编译优化等级导致?总之有没有办法编译出尽量等于实际大小的bin文件?谢谢

你可以试试生成几个占用Flash空间大小不同的程序,对比一下他们生成的bin文件的大小和内容就知道了

能否直接告诉我使用CCS编译成更小的bin方法? 我知道一个使用python编译器可以做到,但是要调用到外部的cmd。

实际代码是看.map文件为准不是看BIN文件,代码生成小点,提高编译器优化等级

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

网站地图

Top