HI,TI工程师,
最近在调试6678芯片,但是有个疑惑想问下:
就是我编译出的.out文件大小为6M多,大于4M,也就是无法放在L2 和MSM 里面,但是我看了下.map的存储,如下数据:
OUTPUT FILE NAME:<qmssIpcBenchmark_c6678.out>
ENTRY POINT SYMBOL: "_c_int00" address: 0082f400
他是把_c_int00放在了L2里面,而这个L2只有512K,如何放下6M多的执行文件?
请问.out文件是放置的?还是我理解错误?谢谢。
Allen35065:
Hi, Chuilei,
.out文件包含了一些调试信息因此它的大小并不等同于可执行二进制代码的大小,如你所知,你可以通过.MAP文件来检查所有的段存储的位置和大小,如果你需要自己配置存储位置,可以通过.CMD文件来实现。
Thomas Yang1:
Hi chunlei gan,
.out的大小和你需要加载的内容大小不是一回事。你需要加载的段是.txt. .const., .data 等等,你可以通过查看MAP文件了解到各个段在DSP memory中具体分配的位置和大小。也可以参考<TMS320C6000 Optimizing Compiler v 7.3
User's Guide>获得更详细的信息。以下链接可以下载到这个文档:
www.ti.com/…/tms320c6678