当前位置: 首页 > article >正文

U-Boot的编译与烧写

U-Boot的编译与烧写

    • ST 官方 uboot 源码下载
    • 1.安装库
    • 正点原子提供的 uboot 源码
      • 修改makefile文件
    • 编译完成后

ST 官方 uboot 源码下载

在这里插入图片描述
ST 官方 uboot 源码
在这里插入图片描述
“u-boot-stm32mp-2020.01-r0”就是 ST 官方 uboot 源码包

1.安装库

首先需要在 Ubuntu 中安装一些库,否则编译 uboot 会报错,安装命令如下:

sudo apt-get install libncurses5-dev bison flex

在这里插入图片描述

正点原子提供的 uboot 源码

在这里插入图片描述

新建“alientek_uboot”文件存放uboot 源码
在这里插入图片描述
使用如下命令对其进行解压缩:

tar -vxf u-boot-stm32mp-2020.01-gdb8d2374-v1.0.tar.bz2

每个人的压缩包不一样,所以u-boot-stm32mp-2020.01-gdb8d2374-v1.0.tar.bz2可以替换的,解压后是
在这里插入图片描述
在这里插入图片描述
面命令每次编译的时候都要指定 ARCH、CROSS_COMPILE 和 DEVICE_TREE,这三个
含义如下:
ARCH:指定所使用的平台架构,这里肯定是 arm
CROSS_COMPILE:所使用的交叉编译器前缀
DEVICE_TREE:设备树文件,uboot 也支持设备树,所以在编译的时候需要指定设备树文
件,不同的硬件其设备树文件肯定不同,这里为 stm32mp157d_atk

make distclean
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- stm32mp157d_atk_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- DEVICE_TREE=stm32mp157d-atk all

在这里插入图片描述
在这里插入图片描述

修改makefile文件

在这里插入图片描述
出错了
然后 我才发先我没复制完全
这是我复制的错误代码

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- stm32mp157d_atk_defcon
make V=1 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- DEVICE_TREE=stm

正确的

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- stm32mp157d_atk_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- DEVICE_TREE=stm32mp157d-atk all

在这里插入图片描述

在这里插入图片描述
修改makefile
在这里插入图片描述

ARCH = arm
CROSS_COMPILE = arm-none-linux-gnueabihf-

在这里插入图片描述
修改makefile文件怎么保存

sudo vim Makefile

想保存并退出,可以输入 :wq 然后按 Enter。
在这里插入图片描述
设置好 Makefile 里面的 ARCH 和 CROSS_COMPILE 以后就可以将编译命令简化为如下所
示:

make distclean //清除
make stm32mp157d_atk_defconfig //配置 uboot
make V=1 DEVICE_TREE=stm32mp157d-atk all //编译

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为加快变编译速度,使用多线程编译,这样比上面的更快,但是结果相同,如下

make V=1 DEVICE_TREE=stm32mp157d-atk all -j8

在这里插入图片描述

编译完成后

在这里插入图片描述
编译多了一些文件,重点是 u-boot.bin 和 u-boot.stm32 这两个文件。
在U-Boot源码目录下生成u-boot.bin和u-boot.stm32镜像文件,需要将u-boot.stm32烧写到开发板的eMMC中。
修改前面创建的 tf-a.tsv 文件
在这里插入图片描述
添加

P		0x06	ssbl		Binary	mmc1	0x00080000	u-boot.stm32

中间是TAB键
在这里插入图片描述
最后将上一小节编译出来的 u-boot.stm32,拷贝到前面创建的 images 目录下(在做 TF-A 实
验的就有 u-boot.stm32 这个文件,我们只要替换就行)。
在这里插入图片描述


http://www.kler.cn/a/445686.html

相关文章:

  • 7-2 排序
  • 基于 Python 解决 X 轴上点距离最小值问题
  • asp.net core发布配置端口号,支持linux
  • 启用WSL后,使用ssh通道连接ubuntu
  • 行政管理痛点解决方案:OA系统助力企业提效减负
  • web自动化测试知识总结
  • vue el-dialog实现可拖拉
  • RabbitMQ全局流量控制
  • 基于字节大模型的论文翻译(含免费源码)
  • CPU性能优化-磁盘空间和解析时间
  • 谷歌浏览器的扩展市场使用指南
  • 共享模型之无锁(乐观锁,CAS,原子类,LongAdder)
  • postman-9.12.2–安装包及汉化
  • 轨迹优化 | 基于Savitzky-Golay滤波的无约束路径平滑(附ROS C++/Python仿真)
  • OpenGL ES 01 渲染一个四边形
  • [Unity]【图形渲染】【游戏开发】Shader数学基础4-更多矢量运算
  • PC寄存器(Program Counter Register)jvm
  • 2024年云计算的发展趋势如何?
  • 【图像处理lec7】图像恢复、去噪
  • SSM 框架结合 Vue 实现电脑测评系统:助力用户明智选择
  • 在M系列芯片的Mac上使用Uniapp开发的依赖安装指南
  • 裸金属服务器的作用都有哪些?
  • GitHub年度报告发布!Python首次超越JavaScript
  • 高校教师成果管理小程序的设计与实现springboot+论文源码调试讲解
  • 全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(多分支结构)
  • 在VBA中结合正则表达式和查找功能给文档添加交叉连接