当我定义一个Global(ROM& RAM)变量但从未在我的代码中使用时,如何在编译时弄清楚这些变量。 目前,我正在使用绿山编译器。有机会找到未使用的全局变量。
答案 0 :(得分:0)
您通常可以在生成的链接器映射文件中看到这一点 引自a manual 我可以找到:(第207页)
制作地图文件
控制地图文件的生成。此选项的允许设置为:
•生成默认地图文件(-map) - [默认]
创建一个包含目标文件名称和.map扩展名的地图文件 •生成用户指定的地图文件(-map =文件名) -
创建具有指定文件名的映射文件 •抑制地图(-nomap)
您可以使用项目中的其他参数来提供这些选项,它将创建一个文件,报告有关固件位置和大小的所有信息。
该文件将在"可读"输出目录中带有.map
扩展名的文本。
您可以查找已删除的符号或未使用的符号。
请注意,默认行为是创建地图文件。
链接器中经常提供的一个便利功能是创建callgraph。您可以轻松地使用它来查看哪些功能相互依赖。更重要的是,它按功能报告最坏情况可预测堆栈使用情况 它通常不会预测由中断引起的堆栈使用情况。