编译uboot

在分析UBOOT源码之前,首先要做些准备工作。

1. 下载UBOOT源码
去http://ftp.denx.de/pub/u-boot/网站下载最新的UBOOT源码u-boot-2020.04.tar.bz2
2.下载交叉编译工具
去linaro官网https://www.linaro.org/downloads/下载最新的交叉编译工具

Latest Linux Targeted Binary Toolchain Releases
arm-linux-gnueabihf32-bit Armv7 Cortex-A, hard-float, little-endianRelease-NotesBinariesSource
armv8l-linux-gnueabihf32-bit Armv8 Cortex-A, hard-float, little-endianRelease-NotesBinariesSource
aarch64-linux-gnu64-bit Armv8 Cortex-A, little-endianRelease-NotesBinariesSource
 选择binaries
 NameLast modifiedSizeLicense

Parent DirectoryParent Directory
application/x-targcc-linaro-7.5.0-2019.12-i686-mingw32_aarch64-linux-gnu.tar.xz05-Dec-2019 09:57364.4Mopen
othergcc-linaro-7.5.0-2019.12-i686-mingw32_aarch64-linux-gnu.tar.xz.asc05-Dec-2019 09:5797open
application/x-targcc-linaro-7.5.0-2019.12-i686_aarch64-linux-gnu.tar.xz05-Dec-2019 09:57110.4Mopen
othergcc-linaro-7.5.0-2019.12-i686_aarch64-linux-gnu.tar.xz.asc05-Dec-2019 09:5789open
textgcc-linaro-7.5.0-2019.12-linux-manifest.txt05-Dec-2019 09:5711.0Kopen
textgcc-linaro-7.5.0-2019.12-win32-manifest.txt05-Dec-2019 09:5711.0Kopen
application/x-targcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz05-Dec-2019 09:57112.4Mopen
othergcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz.asc05-Dec-2019 09:5791open
application/x-tarruntime-gcc-linaro-7.5.0-2019.12-aarch64-linux-gnu.tar.xz05-Dec-2019 09:576.6Mopen
otherruntime-gcc-linaro-7.5.0-2019.12-aarch64-linux-gnu.tar.xz.asc05-Dec-2019 09:5792open
application/x-tarsysroot-glibc-linaro-2.25-2019.12-aarch64-linux-gnu.tar.xz05-Dec-2019 09:5745.5Mopen
othersysroot-glibc-linaro-2.25-2019.12-aarch64-linux-gnu.tar.xz.asc05-Dec-2019 09:57155open

 下载gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz

3.Windows下安装Source Insight, Notpad++等看代码工具

4.在Ubuntu主机上解压Uboot代码和交叉工具链,在Windons主机下解压Uboot

  tar -jxvf u-boot-2020.04.tar.bz2
  tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
5.创建Source Insight工程,注意删除ARCH和Board文件夹中与IMX8及ARMV8无关的代码,删除Document等无用文件夹

6.配置并编译uboot

       export CROSS_COMPILE =XXXXXX/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

       export ARCH=arm64

      make V=1 imx8qxp_mek_defconfig > configprocess.txt             //V=1表示将make执行过程打印出来

      make V=1 > makeprocess.txt(make V=1 menuconfig 这个可以图像界面配置)
  
      ${CROSS_COMPILE}objdump -D u-boot  > u-boot.asm            //将u-boot反汇编方便分析执行过程

可以将上述命令写入shell脚本方便持续使用,中间报错的话有些依赖包自己安装下

得到的configprocess.txt、makeprocess.txt文件用于分析UBOOT的Make过程

得到的u-boot.asm用于分析U-BOOT的执行过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值