使用arm none eabi gcc从cpp生成elf文件 我想对嵌入目标上的C++源代码进行代码覆盖。 基本思想是,生成一个elf以及使用gcc打开的-frofile arcs-ftest覆盖率。 将其下载到ARM设备上,然后收集数据,使用gcov分析代码覆盖率

使用arm none eabi gcc从cpp生成elf文件 我想对嵌入目标上的C++源代码进行代码覆盖。 基本思想是,生成一个elf以及使用gcc打开的-frofile arcs-ftest覆盖率。 将其下载到ARM设备上,然后收集数据,使用gcov分析代码覆盖率,gcc,arm,code-coverage,eabi,Gcc,Arm,Code Coverage,Eabi,如何使用arm none eabi gcc COMMAND生成elf文件。 我已经设置了GNU ARM工具链并设置了env变量。 我可以使用arm-none-eabi-g++-c-mthumb-mcpu=cortex-m3-fprofile arcs-ftest coverage filename.cpp-o filename.elf吗 提前谢谢 我不确定你想做的事是否真的可行。我认为GCC中的这些评测选项需要一些操作系统支持。您最好看看Keil/ARM提供的评测工具。有一个社区版的Stream

如何使用arm none eabi gcc COMMAND生成elf文件。 我已经设置了GNU ARM工具链并设置了env变量。 我可以使用arm-none-eabi-g++-c-mthumb-mcpu=cortex-m3-fprofile arcs-ftest coverage filename.cpp-o filename.elf吗


提前谢谢

我不确定你想做的事是否真的可行。我认为GCC中的这些评测选项需要一些操作系统支持。您最好看看Keil/ARM提供的评测工具。有一个社区版的StreamlineProfiler可能对您有用,请查看ARM webiste。

不,您需要做更多的工作。您需要链接到gcov库。这可以通过-lgov&-fprofile弧链接器标志来实现,希望您的链接器脚本具有.get和.plt节

以上将仅生成.gcno文件。gcda文件在运行时在硬件内部生成。要么等待应用程序退出,要么添加自己的包装器来创建.gcda文件

最后,您需要找到一种从硬件中取出这个.gcda文件的方法

所有abvoe在

我正在寻找一个软件工具来获取代码覆盖率。探查器使用跟踪来获取数据,然后进行代码覆盖。我想要一些与此相关的->。本文的关键部分是“编译一个没有文件系统和没有C标准库的PPC目标”。您需要编写自己的版本,以便在运行时记录覆盖率数据。是的,但这对我来说仍然是第2步。首先,我需要在gcov打开的情况下生成一个elf-->--在哪里可以获得cortex-m3的startup.s和linker。我没有完全理解其中的链接器部分。有什么建议吗?您需要先编写此代码,因为在将其加载到目标上之前,它需要链接到您的ELF图像中。如果您从arm-none-eabi-g++命令行中删除-c,它应该尝试链接,也许您会看到相关的缺失符号。