我想在一个嵌入式目标上对c++源代码进行代码覆盖。基本的想法是,生成一个精灵以及-frofile-arcs -ftest-coverage,使用gcc打开。将其下载到ARM设备上,然后收集数据以使用gcov分析代码覆盖率。
如何使用arm-none-eabi-gcc命令生成elf文件。我已经设置了GNU ARM工具链并设置了env变量。我可以使用arm-none-eabi-g++ -c -mthumb -mcpu=cortex m3 -fprofile-arcs -ftest-coverage filename.cpp -o filename.elf吗?
提前感谢!
发布于 2016-06-17 15:45:25
不,你需要做更多的事情。YOu需要链接gcov库。这可以用-lgov & -fprofile-arcs链接器标志来完成,希望你的链接器脚本有.got和.plt部分。
上面只会生成.gcno文件。.gcda文件是在硬件内部运行时生成的。要么等待应用程序退出,要么添加您自己的包装器来创建.gcda文件。
最后,您需要找到一种方法将此.gcda文件从您的硬件中拉出。
所有的abvoe都在
https://mcuoneclipse.com/2014/12/26/code-coverage-for-embedded-target-with-eclipse-gcc-and-gcov/
发布于 2012-11-20 07:43:38
我不确定你想做的事情是不是真的可行。我认为在GCC中的那些分析选项需要一些操作系统的支持。您最好看看Keil/ARM提供的性能分析工具。
https://stackoverflow.com/questions/13461084
复制相似问题