请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:TMS570LS3137 工具/软件:TI C/C++编译器
有关软件内存使用情况的详细分析,我想查看每个内存部分及其使用情况的细分。
(使用TI编译器5.1。6)
当前在地图文件中,我可以看到:
- 使用了哪些部分和区域,它们需要/获得了多少空间
- 我有什么对象,它们放置符号的区域以及符号在内存空间的起始位置(但不是大小!)
我希望看到更详细的信息:我想知道符号需要多少空间,编译器/链接器应该可以获得和知道这些信息。
例如,我在TMS570的内部RAM中有一个".normal_task_ram"部分(假设从0x8000开始),在这一部分中,obj "normal_Task1"放置了2个大小为20和40字节的变量,我希望出现这样的情况:
============================================================================================================= normal_task.obj 运行/加载 值 大小 装订名称(部分) ------- ----------------- ----------------- -------- 0.008万00 000000140万00014</s>0.0014万 本地 normal_task_var1 (.normal_task_ram:normal_task_var1) 0.008万50 000000285万00028</s>0.0028万 全局normal_task_var2 (.normal_task_ram:normal_task_var1)
链接程序是否可以以某种方式输出详细信息?
我目前的最佳方法是分析映射文件,并尝试通过减去给定部分中符号的地址来确定哪个变量消耗RAM, 这远不准确,因为可能会有孔,或者最后一个符号可能只是放置在结束区域,除了空心ram区域之外,没有其他符号。
我找到并检查了TI cG_xml工具,也检查了"xml_output",但似乎没有一个工具能够访问我在这里尝试访问的内容:只是链接器输出中的信息似乎丢失了。
是否有办法实现我的目标?