欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

程序员文章站 2022-07-05 16:02:03
...

    马上就要开学了,开学后就会开始arm+Linux的学习,因为马上就要去学校了,就没有买板子,打算去了学校再买,但是想学习的心是迫切的(O(∩_∩)O哈哈~),在网上浏览的时候发现了QEMU这个"神器",它是一个开源的可执行硬件虚拟化的托管虚拟机,可以虚拟出甚至cortex A的开发板,提供必备的外设:LCD、串口等等,几乎可以实现在线学习arm开发,简直是神器有木有,所以我就果断开始了学习。

    首先要搭建基本的开发环境

安装Ubuntu16.04

       这个就不说了

安装VVmware-tools

       安装这个是为了方便共享剪切板,这个也比较简单,这里就不说了。

安装Samba

        便于主机与虚拟主机间的文件传输,详细步骤可以参照我以前的博客。

安装Uboot-tools

        用来生成适应U-boot引导的镜像文件格式

        apt install u-boot-tools

安装Vim

        apt-get install vim

安装交叉编译工具

        交叉编译:在一个平台上编译生成在另一个平台上运行的可执行代码

        ABI和EABI:

            在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

        安装

            apt-get install gcc-arm-linux-gnueabi

            apt-get install g++-arm-linux-gnueabi

        示例(hello world)

        在Linux端直接编译后的结果

        在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

        交叉编译后的结果

        在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

QEMU安装

    自动安装

        apt-get install qemu

        版本太低不考虑

    手动编译安装

        安装依赖包

sudo apt-get install build-essential pkg-config zlib1g-dev
sudo apt-get install libglib2.0-0 libglib2.0-dev
sudo apt-get install libsdl1.2-dev
sudo apt-get install libpixman-1-dev libfdt-dev
sudo apt-get install autoconf automake libtool
sudo apt-get install librbd-dev
apt-get install libaio-dev
apt-get install flex bison

    下载QEMU源码

cd /tmp
wget http://download.qemu-project.org/qemu-2.9.0.tar.xz
tar xvJf qemu-2.9.0.tar.xz
cd qemu-2.9.0

    配置和编译安装 QEMU

udo ./configure --prefix=/usr/local/qemu2.9 \
		--target-list=arm-softmmu --audio-drv-list=
sudo make && sudo make install
sudo ln -s /usr/local/qemu2.9/bin/* /usr/local/bin/

    查看是否安装成功,查看版本

aaa@qq.com:/tmp/qemu-2.9.0# qemu-img -V
qemu-img version 2.9.0
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers

    查看支持的开发板

        qemu-system-arm -M help

        在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

        支持的开发板有很多,但是我们注意的是它支持的最好的一个,Arm官方的开发板vexpress-a9

        在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

        在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

        在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

        在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

        在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

    启动开发板

qemu-system-arm -M vexpress-a9 \
    -m 512M \
    -kernel ./uImage \
    -dtb ./vexpress-v2p-ca9.dtb \
    -nographic \
    -append "console=ttyAMA0"

    在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

    可以看到它加载了4.4.76的Linux内核

    在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境

    由于没有根文件系统,运行到这里就停止了

    到这了基本的开发环境就搭建完成了,下篇博客会讲述如何编译Linux内核、如何使用busybox制作根文件系统、如何编译u-boot、如何使用u-boot来加载Linux内核