由于实验需要,最近研究GEM5的相关实验。希望在GEM5上运行arm程序,首先碰到的问题就是如何配置arm的编译环境。下面介绍几种黄静配置的方法(均来自网络)。
(1)自己动手建立交叉编译环境。
可以参见http://blog.csdn.net/mcy_cool/article/details/17047027,优点是:不明觉厉,缺点是:过程非常复杂,非常容易碰到各种问题。本人就在编译glibc时遇到了这样的问题:
ports/sysdeps/arm/sysdep.h:43:4: error:#error unknown arm architecture,尚没有找到解决方法,如果有方法,请赐教。
(2)基于已经搭建好的编译环境进行构建。
好处是:只需要像设置环境变量这样的简单操作,极为容易;缺点是:不知道该工具是如何运行的,对于想要了解更多,掌控更多的应用需求尚需深入琢磨。
i)http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/
ii)Sourcery CodeBench Lite ARM GNU/Linux
对于第二个工具,如果下载的是基于ia32体系结构的话,在64位系统需要sudo apt-get install ia32-libs
(3)ARM官方编译器
需要付费,有人有破解版,不知道是否有支持linux的破解版,时间有限没有研究。
个人觉得如果只是使用下交叉编译工具的话,第二种就可以了。