TI中文支持网
TI专业的中文技术问题搜集分享网站

ccs6.1编译.out文件转bin文件过大

用的是f28335板子,ccs6.1环境。

并且在D:\TI\ccsv6\utils\tiobj2bin目录文件下修改tiobj2bin.bat中470改为2000

然后在build选项下step中添加预编译代码如下

"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd2000.exe" "${CG_TOOL_ROOT}/bin/hex2000.exe" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"

可以生成bin文件,但是结果bin文件太大,比我的.out文件还大。

不知道怎么解决,附件为生成的.out文件和.bin文件,求大神帮忙。

转换后的bin文件中被添加了0,如图

    解决了!!!

    主要是cmd文件配置的问题,把代码begin位还有.text程序段等所有的都改到同一扇区就可以了,中间补了0主要是因为cmd文件中程序存放位置配置的问题。跨度太大,全部改到一个或者临近的几个扇区可以解决问题。最后的bin文件大小只有4k,而且烧到flash可以完美运行。

kaijun zhang:

这里是附件

,

Martin Yu:

CCS6可以直接生成BIN文件的,在属性里面的linker里面生成文件的尾缀直接改成.bin就可以了。我刚试了下,生成的BIN 文件和OUT文件一样大的。

,

kaijun zhang:

应该是会变小的吧  你这直接改个后缀~感觉用处不大

,

mangui zhang:

你把.bin烧入试试看执行情况吧

,

jiangfeng li:

你好 我刚开始研究如何生成bin文件,你说的几个段要连续我不太明白,能帮忙发一下你的cmd吗?我想看看是怎么配置的  我邮箱lijf0626@163.com 万分感激!!!

,

kaijun zhang:

前面说的改cmd什么的主要是因为最后转的bin文件格式太大了,如果没有这个大小的需求,用我前面说的代码是可以生成bin文件的:(如果你是c2000系列的,)

在D:\TI\ccsv6\utils\tiobj2bin目录文件下修改tiobj2bin.bat中470改为2000

然后在build选项下step中添加预编译代码如下

"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd2000.exe" "${CG_TOOL_ROOT}/bin/hex2000.exe" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"

然后我为了把bin文件变小通过can传输到flash所以改的cmd。

我这个就是都把它改到放在flashD,上图就是把begin位置改一下,放到flashd的前两个位置,然后改一下flashd的起始位置和长度,也就是小两个字节,因为被前面begin占用了。然后后面SECTIONS中,所有的flash位置都写到flashd就可以了。

,

jiangfeng li:

非常感谢 kaijun zhang   采用你的方法 我也成功转换成bin文件

,

user5846346:

你好,我用的C6701,也出现了.bin文件太大的问题,但是C6701内部没有FLASH存储空间,我把.text这些段都放在内部RAM中,该怎么处理呢?望指教!谢谢!

,

user3994935:

非常感谢您的方法,我也生成了bin文件。

,

user5000995:

你好,我按照您说的这种方法试了,可以生成BIN文件,但是生成的BIN文件与FLASH地址读出来不一致。FLASH地址未写部分为0xff,而生成的BIN文件为0x00,请问您实际用BIN文件了吗?感谢

赞(0)
未经允许不得转载:TI中文支持网 » ccs6.1编译.out文件转bin文件过大
分享到: 更多 (0)