我有一个 C 项目,之前是使用 Codesourcery 的 gnu 工具链构建的。最近它被转换为使用 Realview 的 armcc 编译器,但与使用 gnu 工具编译相比,我们使用 Realview 工具获得的性能非常差。不应该是相反的情况,即使用 Realview 的工具编译时它应该提供更好的性能吗?我在这里想念什么。如何使用 Realview 的工具提高性能?
我还注意到,如果我使用劳特巴赫运行 Realview Tools 生成的二进制文件,它会崩溃,但如果我使用 Realview ICE 运行它,它运行良好。
更新 1
Realview 命令行:
armcc -c --diag_style=ide --depend_format=unix_escaped --no_depend_system_headers --no_unaligned_access --c99 --arm_only --debug --gnu --cpu=ARM1136J-S --fpu=SoftVFP --apcs=/nointerwork - O3-Otime
GNU GCC 命令行:
arm-none-eabi-gcc -mcpu=arm1136jf-s -mlittle-endian -msoft-float -O3 -Wall
我正在使用 Realview Tools 4.1 版和 GCC 4.4.1 版
更新 2
劳特巴赫问题已解决。这是由于半主机导致的,因为在劳特巴赫环境中未处理半主机 SWI。重新定位 C 库以避免 Semihosting 成功了,现在我的程序可以在 Lauterbach 和 Realview ICE 上成功运行。但是性能问题就是这样。