一、 准备好资料

  1. Linux虚拟机,我的系统是ubuntu 16.04;
  2. arm-linux-gcc、expat、arm-linux-gdb,都可以从我网盘下载:链接:https://pan.baidu.com/s/1DoO8X69ut0EgId65cPLzZg 
    提取码:q3h9。(qemu可以不用下载,我用apt-get可以直接安装)
  3. 我是用root用户登录的,因此不需要sudo,如果你们不是用的root用户,请在相关命令前自行添加sudo

二、 安装arm-linux-gcc

这里我没遇到什么坑,直接按照实验资料上面的教程来就行。

三、 安装expat

这个在实验资料上面没说,但如果在gdb连接qemu端口时出现以下保存务必安装expat,然后重新装gdb:

warning: Can not parse XML target description; XML support was disabled at compile time

安装过程:

  1. 从上方网盘下载源码,复制到虚拟机中,解压,解压命令:
tar zxf expat-2.2.9.tar.gz
  1. cd命令进入刚刚解压出来的文件夹,然后执行以下命令:
mkdir /usr/local/expat
./configure --prefix=/usr/local/expat
make && make install

至此,expat已经安装好了,如果安装报错请自行百度。

四、 安装qemu

直接使用apt安装即可,注意其依赖的东西:

apt-get install flex
apt-get install bison
apt-get install qemu

然后可以像实验资料那样建立一个软连接指向qemu。

如果不能自动安装,请在系统设置修改软件源,亲测华为云可用。

五、 安装arm-linux-gdb

若没有安装expat就弄了gdb,gdb需要重新安装。

安装步骤:

  1. 从上方网盘下载源码,复制到虚拟机中,解压,解压命令:
tar zxf gdb-8.3.tar.gz
  1.  用cd命令进入刚刚解压出来的文件夹,然后执行以下命令:
make distclean    #若之前安装过gdb用这条命令清理
./configure --target=arm-linux --prefix=/usr/local/arm-gdb --with-expat -with-libexpat-prefix=/usr/local/expat  --includedir=/usr/local/expat/include --libdir=/usr/local/expat/lib    #注意前一个注释后面这一长串是一行命令,如果复制成了多行,请自行去掉换行
make && make install

至此,arm-gdb已经安装完毕,环境都配好了,上面make安装gdb可能会报错,但是确实是安装好了,可以按照实验资料上面的用法开始调试运行了。

六、ex12无法运行

直接运行ex12例子中的make run会报错:

qemu-system-arm: Cirrus VGA not available

这是因为cirrus是过时的东西,需要修改成其他的图像显示方式,这里我用std运行成功了。

步骤:

在ex12目录下gedit Makefile编辑文件

arm架构装win7 arm架构装ug_arm架构装win7

将此处的cirrus改成std:

arm架构装win7 arm架构装ug_arm架构装win7_02

然后保存,再make run就没有问题了。