qemu虚拟开发板

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 06:50 点击:

 

如果你想拥有一块开发板,而又不想花钱,那你就可以自己做一个虚拟开发板。

虚拟开发板是用QEMU模拟出来的一块板子,实际上就是一个虚拟机。

Contents

[hide]

1 调试模式

1.1 QEMU

1.1.1下载QEMU

1.1.2安装QEMU

1.2 bootloader

1.2.1准备交叉编译工具

1.2.2下载U-Boot

1.2.3交叉编译U-Boot

1.2.4调试U-Boot

1.3 Linux内核

1.3.1下载Linux内核

1.3.2交叉编译Linux内核

1.3.3加载Linux内核

1.3.3.1 下载并安装TFTP Server

1.3.3.2 准备qemu-ifup和qemu-ifdown

1.3.3.3 tftpboot uImage

1.3.4运行Linux内核

1.3.4.1 准备ROOTFS

1.3.4.2 准备NFS

1.3.4.3 运行uImage

1.4 设备驱动

1.4.1添加一个设备到QEMU

1.4.2设备驱动程序

1.5 GUI

2 Run Mode

2.1 QEMU

2.1.1Support FLASH on QEMU

2.2 U-Boot

2.2.1burn U-Boot into flash

3 References

4 External links

调试模式

QEMU

下载QEMU

通常我们有两种方式来获取源代码:

压缩包, 从QEMU下载页面获取最近的发行版qemu-0.13.0.tar.gz。 解压这个文件:

$ tar zxvf qemu-0.13.0.tar.gz

用git工具来抓取源代码:

$ git clone git://git.qemu.org/qemu.git

安装QEMU

现在我们可以进到QEMU的源代码目录中,执行以下命令安装QEMU的ARM仿真部分到本机的'/opt/qemu/'目录下

$ ./configure --prefix=/opt/qemu --target-list=arm-softmmu,arm-linux-user --enable-debug $ make -s $ make install -s

添加"PATH=/opt/qemu/bin:$PATH" 到文件'/etc/profile' 中, 然后执行以下命令,就可以在控制台直接运行QEMU相关命令了

$ . /etc/profile

我们可以从QEMU下载页面中下载arm-test-0.2.tar.gz, 这是ARM Linux 2.6的测试内核和initrd磁盘镜像(感谢Paul Brook)。

$ tar zxvf arm-test-0.2.tar.gz $ cd arm-test $ qemu-system-arm -kernel zImage.integrator -initrd arm_root.img -nographic -append "console=ttyAMA0"

命令将启动一个带命令行的ARM虚拟机,键入"CTRL-a x"可以退出。好了,安装完成。

bootloader

准备交叉编译工具

打开网页Sourcery G++ Lite Edition for ARM,依次点击" GNU/Linux > Packages > Recommended Packages > IA32 GNU/Linux Installer"。 下载后,将它安装到目录'/opt'中:

$ chmod +x arm-VERSION-arm-none-linux-gnueabi.bin $ ./arm-VERSION-arm-none-linux-gnueabi.bin

安装完成后,我们可以在目录'/opt/CodeSourcery/Sourcery_G++_Lite/bin'中找到我们需要的交叉编辑工具。可以写一个"hello world"测试程序来测试一下它们:

$ sudo mkdir -p /usr/gnemul $ sudo ln -sf /opt/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/libc /usr/gnemul/qemu-arm $ arm-none-linux-gnueabi-gcc -o hello hello.c $ qemu-arm hello

如果我们可以看到有"hello world"或者别的你让输出的字符出现在屏幕上了, 交叉编译工具就准备好了.

下载U-Boot

发行版:u-boot-latest.tar.bz2

当前源程序:

$ git clone git://git.denx.de/u-boot.git

交叉编译U-Boot

到U-Boot的根目录下,然后执行:

$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- versatilepb_config $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -s

在目录下将会产生文件'u-boot'和'u-boot.bin'。

同时我们也可以在'tools'目录中得到工具"mkimage", 在编译Linux内核uImage时将会用到它,所以

$ sudo ln -sf `pwd`/tools/mkimage /usr/local/bin/mkimage

现在我们可以在控制台中启动U-Boot了:

$ qemu-system-arm -M versatilepb -nographic -kernel u-boot

启动成功后会显示命令提示符"VersatilePB #",现在就可以输入像"printenv"等U-Boot命令了。 输入组合键"CTRL-a x"即可以退出。

调试U-Boot

当调用QEMU时添加-s 和-S 选项

-s -gdb tcp::1234 的所写

-S 在启动时停止CPU (键入'c'才会开始执行)

$ qemu-system-arm -M versatilepb -nographic -kernel u-boot -s -S

调试U-Boot时,加载文件'u-boot' 到gdb(记住不是

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • VMware View 5.0从菜鸟到高手系列 -连接虚拟桌面
    • kvm中的windows使用Vmware的显示驱动
    • VMware Linux使用Xshell登陆
    • 虚拟机安装MAC查看电脑CPU是否支持VT技术
    • VMWare NAT Centos6.2静态ip设置
    • vmware虚拟机浅析-虚拟网卡
    • VirtualBox打开虚拟硬盘失败的问题
    • Virtual Box下同时配置host-only和bridge
    • 给虚拟机提速的方法

    快速直达

    操作系统导航

    LinuxWindows虚拟机
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1