qemu启动uboot

首先下载uboot源码包,UBOOT源码下载地址:http://ftp.denx.de/pub/u-boot/。这里取版本u-boot-2018.09.tar.bz2。

配置好指定的交叉编译工具链,工具链的制作方法,请参考文章——ARM交叉编译工具链的制作 。

进入Uboot的根目录,执行如下命令编译UBOOT:

1、生成配置文件, make ARCH=arm vexpress_ca9x4_defconfig

2、编译Uboot, make ARCH=arm CROSS_COMPILE=arm-unknown-linux-gnueabi- -j4

编译成功,图下图所示,

现在准备启动qemu模拟器,运行u-boot。由于我们之前选择的配置文件是vexpress_ca9x4_defconfig,即应该是arm cortex-a9的核。我们使用qemu的时候一定要选对参数模型。可输入如下命令启动uboot,

qemu-system-arm -M vexpress-a9 -m 256 -kernel u-boot --nographic

参数-M 机器模型 -m 运行内存MB -kernel 运行的内核程序(此处后面可以换成linux内核) --nographic 不输出图像窗口,直接通过串口或者命令行控制台输出打印信息。

其实还可以加个cpu模型,-cpu,具体选择什么cpu,qemu支持什么cpu,可以通过如下命令查看:

qemu-system-arm -M vexpress-a9 -cpu help

Available CPUs:

  arm1026

  arm1136

  arm1136-r2

  arm1176

······

下面执行具体的qemu模拟启动uboot的命令:

qemu-system-arm -M vexpress-a9 -cpu cortex-a9 -m 256 -kernel u-boot --nographic

模拟器把Uboot运行起来后,和真实的物理板打印信息一致,可以看到下面的打印信息:

U-Boot 2018.09-rc3-00026-g4cdeda5 (Oct 29 2018 - 06:46:26 -0700)

DRAM:  256 MiB

WARNING: Caches not enabled

Flash: 128 MiB

MMC:   MMC: 0

*** Warning - bad CRC, using default environment

In:    serial

Out:   serial

Err:   serial

Net:   smc911x-0

Hit any key to stop autoboot:  0

=>

怎么样是不是感觉很熟悉。这样就可以脱离物理单板学习研究Uboot了。

如果需要退出qemu,可以使用组合键,ctrl+a然后再按下x,就可以退出qemu模拟器了。

 

你可能感兴趣的:(linux学习笔记)