目前我正在开发一个嵌入式项目。我使用的是IAR Embedded Workbench IDE,目标平台是基于8051的微控制器。是否可以使用Valgrind工具检查我写的代码?
答案 0 :(得分:4)
不,是的。*
否:正如另一位评论者所说,Valgrind不能在8051体系结构上运行,所以你不能像在x86系统上那样使用Valgrind。
是* :(星号(*)是因为它是有限的“是”)
但是,如果您符合以下条件,则可以在代码的非8051 / IAR特定部分使用Valgrind:
这样Valgrind就可以检查你的一些代码了,这比什么都没有好。
分离代码的编译器/芯片特定部分也将使其更具可移植性和可重用性。
哦,这不是直接相关的,但你也应该考虑使用像PC-Lint这样的静态分析程序:http://www.gimpel.com/html/index.htm
它检查Valgrind检查的一些事情,以及Valgrind不检查的许多事情。另外,它会检查所有代码,而不仅仅是非8051 / IAR代码。
那里有很多类似的工具; PC-Lint是我见过的最受欢迎的。
答案 1 :(得分:1)
您应该查看此页面,Valgrind Supported Platforms。 Valgrind不支持8051微控制器指令集。
此外,你应该知道Valgrind是一个指令模拟器。这意味着你必须在系统上运行Valgrind,它运行你的代码与OS和C的基础层或其他POSIX库来模拟你的程序的内存读/写或分析。所以8051不可能运行Valgrind。