Grey
全部学习内容汇总: https://github.com/GreyZhang/g_ARC
想学习一点ARC相关的知识,但是手里没有开发板。看了下,使用QEMU似乎是一个很好的选择,正好也有这么一个分支。在此,记录一下环境搭建的过程。
如果有现成的安装包,或许也不会去这么折腾了。找了一下并没有找到理想的安装文件,看起来直接自己编译会是相对稳妥的方法。而这样,开发环境得借助于Ubuntu的虚拟机。
ARC版本的QEMU相关的说明: Building QEMU for ARC · foss-for-synopsys-dwc-arc-processors/qemu Wiki · GitHub
根据上面的说明,需要安装以下链接上的依赖工具:
首先需要获取原始的代码: git clone GitHub - foss-for-synopsys-dwc-arc-processors/qemu: QEMU port for ARCv2 Processors
之后,按照如下做配置: ./configure –target-list=arc-softmmu \ # arc target –prefix=/PATH/TO/INSTALL/QEMU \ # where you want it installed –enable-debug \ # for developers –enable-debug-tcg \ # for developers –enable-trace-backends=simple \ # for developers
有一个说明中对于老版本的gcc的支持项,我删除掉了。
关于这一项,原始的配置要求说明信息如下:
我所用的系统中安装的gcc版本是11.4.0,应该是比较新的一个版本。而我所用的系统是Ubuntu 23.04.3。
上面的命令直接拷贝可能会有识别问题,可以把相关的参数拷贝到一行: ./configure –target-list=arc-softmmu –prefix=/PATH/TO/INSTALL/QEMU –enable-debug –enable-debug-tcg –enable-trace-backends=simple
上面是在我机器上的配置结果,有很多NO,但是并没有报错。接下来直接尝试编译:
需要编译的文件看起来还是很多的,没有开启并行加速,不过速度还可以。
上面是编译结束时候的提示,接下来可以安装,然后按照安装说明进行部分测试。
安装: sudo make install
以上是安装时候的效果。从结果能够看到,这个目录的指定属于新创建。因此,安装不算合理,结合这个提示,进行了重新的安装。在安装之前,设置了如下的配置信息:
./configure –target-list=arc-softmmu –prefix=/usr/local/bin –enable-debug –enable-debug-tcg –enable-trace-backends=simple
之后,设置环境变量信息:
export QEMU_HOME=/usr/local/bin/bin export PATH=/usr/local/bin/bin:$PATH
这么看上去,其实上面的配置还是有几分不合理。没有预料到这会多出一个bin目录。不过,处理简单,还是把前面的信息重新处理一下,保持一个合理的状态。
切换到如上目录,之后执行make check看测试效果:
执行这部分的时候遇到了文件缺失没能够进行下去,我转而执行了前面的make test。124条测试,有一些条目的执行并不顺利。
这下子多少由于些纠结了,这个工具到底能不能用?暂且先这样部署,后面搞定了编译器之后统一进行测试。
没有直接的apt安装包,这种处理还是有几分折腾的。嵌入式的开发,涉及到多平台的处理,总是有这么几分不方便。不过,这倒也是乐趣所在。