基于QEMU的vexpress-a9开发调试环境搭建

本文详细介绍了在Windows环境中通过VirtualBox或VMware搭建LinuxUbuntu,安装必要的工具,编译kernel和U-Boot,制作根文件系统,以及使用QEMU进行kernel调试的过程,包括设置链接地址、断点和执行调试命令等。

准备工作

  1. 如果是window环境,则建议安装virtual box或vmware以便安装linux ubuntu。
  2. 在ubuntu上安装必要工具: sudo adb install qemu-system-arm gdb-multiarch libnl-3-dev libncurses5-dev binutils-arm-linux-gnueabi gcc-arm-linux-gnueabi

编译kernel,uboot以及制作ramdisk

编kernel

去kernel.org下载kernel内核工程,我这里选的是3.18,下载地址:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-3.18.tar.gz
编译命令:
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm vexpress_defconfig
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm zImage
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm dtbs
编译完毕后,会生成zImage镜像

编uboot

下载地址:https://ftp.denx.de/pub/u-boot/,我这里选的是2016.01: https://ftp.denx.de/pub/u-boot/u-boot-2016.01.tar.bz2
编译命令:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- vexpress_ca9x4_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
注意:如果环境里gcc版本是7,则需要 cp include/linux/compiler-gcc5.h include/linux/compiler-gcc7.h,因为uboot2016里没有适配gcc7

制作根文件系统

如果想正常运行起kernel,需要制作根文件系统,具体可参考:https://www.zhaixue.cc/qemu/qemu-build_busybox_rootfs.html

qemu正常运行kernel

将上面做个根文件rootfs.ext3移到kernel编完的根目录下,在kernel编译根目录执行执行命令:

qemu-system-arm \
        -M vexpress-a9 \
        -m 256 \
        -kernel arch/arm/boot/zImage \
        -nographic \
        -append "root=/dev/mmcblk0 rw console=ttyAMA0 memblock=debug printk.synchronous=1" \
        -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb \
        -sd 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值