TI论坛
直播中

李聪聪

7年用户 174经验值
私信 关注
[问答]

不被调用的函数也占用FLASH空间?

大家好!
我刚刚学习使用CCS6.2试图对28027进行编程(之前用过CCS3.3对2407做过开发)。
我编译了一个C2000Ware Example后,我在main()之外加了以下测试代码,但没有进行Tst1()调用:
#if 1
volatile Uint16 cntTst1=0 ;
void Tst1( void )
[
cntTst1++ ;
]
#endif
我检查编译后生成的map文件,发现这段代码加入前后,FLASHA的占用发生变化:
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
PAGE 0:
... ...
FLASHA 003f6000  00001f80  000005d9  000019a7  RWIX
加入后:
FLASHA 003f6000   00001f80  000005d1  000019af  RWIX
就是说:没有调用的函数也占用了FLASH空间,这是什么回事??

回帖(3)

陈飞

2018-9-5 11:31:38

如上图,设置-mo命令即可。

                                                                         Young Hu
举报

李聪聪

2018-9-5 11:38:26
引用: Arttronix 发表于 2018-9-5 12:14
如上图,设置-mo命令即可。

                                                                         Young Hu

非常感谢!
但想知道为什么TI要这样默认一个“陷阱”?

举报

周静

2018-9-5 11:52:30
引用: hkzhd888 发表于 2018-9-5 12:20
非常感谢!
但想知道为什么TI要这样默认一个“陷阱”?

CCS 中 Runtime Model Options各个选项含义见编译手册Table 2-11. Run-Time Model Options:
www.ti.com.cn/.../spru514k.pdf
举报

更多回帖

发帖
×
20
完善资料,
赚取积分