工具/软件:Code Composer Studio
附加的项目是计算program.e2e.ti.com/.../3441.MSP430FG4618_5F00_trig_5F00_stack_5F00_size.zip的4618的堆栈大小使用情况的测试
“CCS 7.2 .0.0.0013万 堆栈使用情况”视图将_c_int00_noargs_notexit的堆栈使用情况报告为878字节:
在上面的中, full 和scalbnl函数被报告为没有找到定义。 在 "堆栈使用情况"视图中,floor和scalbn函数显示为未调用:
在附加的zip文件 Debug中,MSP430FG4618_trig_stack_size_call_graph.txt是call_graph cG_xml工具的输出;在项目中添加了一个后期生成规则,以便在生成的生成文件上运行call_graph。
将CG_xml工具计算的堆栈大小与CCS 7.2 堆栈使用情况视图中显示的堆栈大小进行比较显示:
1) call_graph计算 出了_c_int00_noargs_notexit函数的更高堆栈大小 ,为908字节,而不是CCS堆栈使用情况视图报告的878字节。
2) call_graph不将 floor 和scalbn函数报告为孤立函数。
原因是call_graph检测到(floor floor)和(scalbn scalbnl)是函数符号别名,并在 _c_int00_noargs_notexit的堆栈使用中包含(floor floor l)和(scalbn scalbnl)的堆栈大小。
因此,“CCS堆栈使用情况”视图在 出现函数“符号别名”时,未能很好地报告堆栈要求(其中,函数“符号别名”表示两个具有相同地址的符号)。
在 出现函数符号别名时,是否可以更改“CCS堆栈使用情况”视图以匹配CG_xml call_graph行为?