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

ccsV5.5编译生成文件比3.3大很多,怎么处理?

    Dear  Sir;

    公司之前的程序是在3.3版本的CCS上编译,已经用了好几年,算是比较成熟了。最近成立新的事业部将以前的程序用ccsV5.5编译后

老是报Flash空间不足的错误。发现econst段太大,要求空间为1331,但是只剩下oxfd1的flash。对比可以看到ccsV5编译生成的文件要比

3.3生成的文件大1k左右,这是正常的吗?

    

Hank Zhao:

out文件大1K并不能说明什么问题,out文件还包含有很多调试信息。econst存的是常量数据,这个段大说明你程序中的常量数据量大。

    Dear  Sir;

    公司之前的程序是在3.3版本的CCS上编译,已经用了好几年,算是比较成熟了。最近成立新的事业部将以前的程序用ccsV5.5编译后

老是报Flash空间不足的错误。发现econst段太大,要求空间为1331,但是只剩下oxfd1的flash。对比可以看到ccsV5编译生成的文件要比

3.3生成的文件大1k左右,这是正常的吗?

    

gui li1:

回复 Hank Zhao:

Dear   Zhao!

       谢谢您的回复。

      可能我前面没有描述清楚,因为公司不能在论坛发表贴子,我是在家里凭印象说的。我今天重新试验了几次,

从错误信息看,提示需要0x1331字的Flash,但Flash未使用的空间为0x672字。这样看来还需要3K左右的空间来存储程序。

目标芯片(28232)和程序都没有变,只是平台从3.3变为ccs5.5,这样看来似乎是5.5编译的文件比3.3大3k多。我不知道

编译信息指的这个空间是不是out文件,因为有错误的情况下out文件没有生成。

    程序的常量数据比较多,全局变量更多(历史问题,尾大不掉了),econst大是意料之中的。现在主要是比较疑惑5.5编译Flash空间不够的问题。

    顺便问一下econst和const的区别,资料上的描述好像是一样的:

                       const: 包含字符串常量和初始化的全局变量和静态变量(由const)的初始化和说明

                       econst: 包含字符串常量和初始化的全局变量和静态变量(由far const)的初始化和说明

    为了调试程序,我在编译器设置中设置优化—–Local Optimization,这样编译能通过,但是运行却出现了问题。当Debug将程序下载到Flash

后点全速运行,程序会报过电流的故障。这个故障是在外部中断程序中检测的,但设置相应的断点,可以发现那一段似乎程序根本没有执行。

我怀疑可能是优化引起的异常。更奇怪的是,当我暂停程序,restart之后,程序居然就正常运行了。但如果点reset再点restart的话,程序依然报

过电流的故障。所以我想请问一下,restart和reset动作后,程序运行的过程有什么不同?所谓的硬件复位和软件复位有什么不同,restart是哪一种呢?GEL_Restart和这个有关系吗?

                                                                                                                                                     ligui

    Dear  Sir;

    公司之前的程序是在3.3版本的CCS上编译,已经用了好几年,算是比较成熟了。最近成立新的事业部将以前的程序用ccsV5.5编译后

老是报Flash空间不足的错误。发现econst段太大,要求空间为1331,但是只剩下oxfd1的flash。对比可以看到ccsV5编译生成的文件要比

3.3生成的文件大1k左右,这是正常的吗?

    

mangui zhang:

回复 gui li1:

编译的时候编译条件是否一致     release还是debug

还有优化条件呢     但是不至于大那么多

    Dear  Sir;

    公司之前的程序是在3.3版本的CCS上编译,已经用了好几年,算是比较成熟了。最近成立新的事业部将以前的程序用ccsV5.5编译后

老是报Flash空间不足的错误。发现econst段太大,要求空间为1331,但是只剩下oxfd1的flash。对比可以看到ccsV5编译生成的文件要比

3.3生成的文件大1k左右,这是正常的吗?

    

Hank Zhao:

回复 gui li1:

const必须位于低64K的地址范围内,econst没有这个限制。你试一下不同的优化等级。

赞(0)
未经允许不得转载:TI中文支持网 » ccsV5.5编译生成文件比3.3大很多,怎么处理?
分享到: 更多 (0)