ubuntu24.04上使用qemu+buildroot+uboot+linux+tftp+nfs模拟搭建vexpress-ca9嵌入式linux开发环境

1 准备工作

1.1 安装依赖工具

sudo apt-get update && sudo apt-get install build-essential git bc flex libncurses5-dev libssl-dev device-tree-compiler

在这里插入图片描述

1.2 安装arm交叉编译工具链

sudo apt install gcc-arm-linux-gnueabihf

在这里插入图片描述

安装之后,在终端输入arm-linux- gnueabihf- 后按TAB键,出现下列命令,表示安装成功。

在这里插入图片描述

1.3 安装qemu-system-arm

sudo apt install qemu-system-arm

在这里插入图片描述

安装完毕后,在终端输入: qemu- 后按TAB键,弹出下列命令证明安装成功。
在这里插入图片描述

2 u-boot配置编译

2.1 下载u-boot

wget http://ftp.denx.de/pub/u-boot/u-boot-2023.10.tar.bz2

2.2 配置u-boot

解压并进入u-boot。

tar -xvf u-boot-2023.10.tar.bz2 && cd u-boot-2023.10

使用vexpress-ca9x4的默认配置进行配置。

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- vexpress_ca9x4_defconfig 

在这里插入图片描述

2.3 修改u-boot

qemu模拟开发板,无法将u-boot环境变量固化到flash,所以每次启动需要重新设置环境变量,为了方便可以将相关环境变量写死在源码里,具体为include/configs/vexpress_common.h中的CFG_EXTRA_ENV_SETTINGS宏。

修改define CFG_EXTRA_ENV_SETTINGS 如下。其中10.211.55.10为QEMU模拟的开发板的IP,10.211.55.100为宿主系统ubuntu24.04的IP,需要根据实际环境IP进行修改。

#define CFG_EXTRA_ENV_SETTINGS \
                "ipaddr=10.211.55.10\0" \
                "serverip=10.211.55.100\0" \
                "bootcmd=tftp 0x60003000 uImage; \
                        tftp 0x61000000 vexpress-v2p-ca9.dtb; \
                        bootm 0x60003000 - 0x61000000\0" \
                "bootargs=root=/dev/nfs rw \
        nfsroot=10.211.55.100:/nfs/rootfs,nfsvers=4 init=/linuxrc \
        ip=10.211.55.10 console=ttyAMA0\0"

2.4 编译u-boot

make ARCH=arm CROSS_COMPILE=arm-linux-gnue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值