美文网首页
[077]uboot学习环境搭建

[077]uboot学习环境搭建

作者: 王小二的技术栈 | 来源:发表于2023-02-06 16:15 被阅读0次

    背景

    最近在看一些uboot相关的内容,有一些疑惑,但是暂时我又没有硬件板子,我就准备用QEMU模拟调试。

    uboot是什么东西?

    uboot(universal bootloader)是一种可以用于多种嵌入式CPU得BootLoader程序,换言之,uboot是bootloader的一个子集

    本人电脑系统

    Win10 + WSL2 (ubuntu 20.04)
    Win10安装QEMU,WSL2用来编译uboot镜像

    一、WSL2编译uboot镜像

    1.1 下载uboot代码

    git clone https://github.com/u-boot/u-boot
    

    1.2 编译uboot源码

    因为我要编译arm64,所以用这个指令,缺少的工具链,请自行安装sudo apt-get install gcc-aarch64-linux-gnu

    export CROSS_COMPILE=aarch64-linux-gnu-
    make qemu_arm64_defconfig
    make
    

    编译后的uboot代码根目录会有uboot.bin这个二进制程序,也就是uboot镜像了。


    二、Win10安装QEMU

    1.1 下载QEMU

    window x64 qemu包下载地址:https://qemu.weilnetz.de/w64/

    1.2 安装QEMU

    双击安装即可,最重要的是记住安装选项,打开System emulation中的下落项选择需要模拟的系统x86_64,arm,riscv64,riscv32等系统,尽量安装默认,全部勾选即可

    1.3 配置环境变量

    把QEMU的安装路径添加到系统的环境变量中。


    1.3 在Ubuntu安装QEMU

    如果你是单独ubuntu系统,可以参考这个链接https://blog.csdn.net/Q1302182594/article/details/52134673

    三、QEMU启动uboot

    执行一下命令即可,u-boot.bin就是编译uboot生成的二进制文件。

    qemu-system-aarch64.exe -machine virt -nographic -cpu cortex-a57 -bios u-boot.bin
    

    启动后的界面,类似linux的控制台,我尝试执行了一下ls

    四、Clion导入源码

    安装compiledb

    pip install compiledb
    

    用这个指令替代1.2 中的最后一步make,将在根目录下生成一个compile_commands.json

    compiledb make
    

    用Clion以项目的方式打开compile_commands.json即可。

    总结

    接下来你就可以方便的修改调试uboot的代码了,学习uboot的代码挺有意思的。

    参考资料

    https://u-boot.readthedocs.io/en/latest/build/index.html
    https://u-boot.readthedocs.io/en/latest/board/emulation/qemu-arm.html

    相关文章

      网友评论

          本文标题:[077]uboot学习环境搭建

          本文链接:https://www.haomeiwen.com/subject/uuaahdtx.html