一、环境

编译环境:Ubuntu 版本:20.4.1

交叉编译工具:arm-none-eabi-gcc 版本:10.3.1

开发板:STM32MP157 pro

烧写软件:STM32CubeProgrammer

二、下载UBoot源码

GitHub仓库:https://github.com/Embedfire/ebf_linux_uboot

注意: STM32MP157 源码对应的是 ebf_v2018.11_star 分支

三、编译UBoot

编译相对比较简单,源码的README.md文件中存项详细的说明,如下所示:

  1. 安装编译需要的工具:

    sudo apt install make gcc-arm-none-eabi gcc bison flex libssl-dev dpkg-dev lzop libncurses5-dev libncursesw5-dev
  2. 进入工程路径

    cd ebf_linux_uboot
  3. 清除工程

    make clean
  4. 配置

    make stm32mp15_trusted_defconfig
  5. 开始编译

    make CROSS_COMPILE=arm-none-eabi- DEVICE_TREE=stm32mp157a-star all

    注意: 如果GCC版本过高可能出现 error:multiple definition of 'yylloc'错误,解决办法见后面笔记

  6. 编译完成

    编译完成后会生成 u-boot.stm32 文件

四、烧写UBoot

保险操作,将 STM32CubeProgrammer 工程拷贝一份到桌面,在进行操作,不会使用 STM32CubeProgrammer 烧写的见野火教程:https://doc.embedfire.com/linux/stm32mp1/quick_start_guide/zh/latest/quick_start/install_debian/install_debian.html

  1. 将编译生成的 u-boot.stm32 直接把工程文件中的替换,如下图所示:

    注意:也可更改 flashlayout 文件下的 .tsv文件

  2. 烧写文件

五、编译问题

  1. error:multiple definition of `yylloc'

    解决办法:

    vim ./scripts/dtc/dtc-parser.tab.c

    注释 yylloc 定义 ,如下图所示:



    注意: 更改后不能清空项目在执行,否则更改会失效

参考文献

IMX6ULL学习笔记——获取和编译U-Boot:http://it.cha138.com/nginx/show-302415.html

Ubuntu21.10 编译uboot 出错 `yylloc'解决方法:https://zhuanlan.zhihu.com/p/432591735

野火 STM32MP157 开发板 UBOOT 编译烧写的更多相关文章

  1. iTOP-4412 开发板镜像的烧写

    镜像就是源代码编译并连接以后生成的可执行文件包,把这些镜像文件烧写到开发板的存储芯片里,开机就可以运行了. 烧写方式有两种,通过TF卡烧写以及使用OTG接口烧写 OTG方式:只能在WIN7 或者XP ...

  2. RK3399开发板Android镜像烧写之Windows系统映像烧写

    4.1.1 l RKTool  驱动安装(基于迅为iTOP-3399开发板)DriverAssitant_v4.5.zip 文件,打开 驱动安装成功,如下图: 注意事项:1.目前支持的操作系统包括:X ...

  3. 野火 STM32MP157 开发板内核和设备树的编译烧写

    一.环境 编译环境:Ubuntu 版本:18.4.6 交叉编译工具:arm-linux-gnueabihf-gcc 版本:7.4.1 开发板:STM32MP157 pro 烧写方式:STM32Cube ...

  4. iTOP-4418开发板TF卡烧写-引导uboot

    基于迅为iTOP-4418开发板 将 TF 卡接入开发板,将拨码开关设置为 TF 卡启动,进入 uboot 模式,如下图所示. 如下图所示,使用命令“fastboot”,接着就可以通过 OTG 给 e ...

  5. 友善之臂tiny4412-1306开发板安卓系统烧写

    折腾了很久,终于烧写成功.不废话,咱们说说流程吧. 首先,我们需要有一个基于tiny4412的kernel,从友善之臂官网获取. 然后解压: 1.tar -xvf  linux-3.5 .... 然后 ...

  6. 迅为iTOP-4412开发板Ubuntu操作系统烧写方法

    本文转自:http://www.topeetboard.com Ubuntu系统烧写硬件平台:iTOP4412开发板 需要准备:串口线.读卡器.一张SD卡最好是2G(自备).另外一张卡(大于等于2G都 ...

  7. android操作系统在itop4412开发板上的烧写

    ITOP4412启动模式: 1.EMMC启动模式:拨码开关1-3为011 2.SD卡启动模式:拨码开关1-3为100uboot:初始化内存控制器,访问存储器,把操作系统内核从存储器读取出来放到内存中, ...

  8. iTOP-4418开发板Ubuntu系统烧写方法分享

    开发平台:迅为iTOP-4418开发板    系统:Ubuntu   1. TF卡读写速度测试 烧写 Ubuntu 对于 TF 卡的要求比较高,很多老旧的卡都无法烧写 Ubuntu,下面提供一种 相对 ...

  9. [转载]iTOP-4418开发板Ubuntu系统烧写方法分享

    本文转自迅为论坛:http://topeetboard.com 开发平台:iTOP-4418开发板系统:Ubuntu 1. TF卡读写速度测试烧写 Ubuntu 对于 TF 卡的要求比较高,很多老旧的 ...

  10. QtCreator设置野火iMx6开发板提供的qt交叉编译套件

    在Ubuntu18 QtCreator上添加野火iMx6开发板的Qt交叉编译环境PC:Ubuntu18.04QtCreator: 4.8.2交叉编译环境:野火提供的 5-编译工具链->qt交叉编 ...

随机推荐

  1. 记录--Vue常问问题整合

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.谈谈你对MVVM的理解? 映射关系简化,隐藏controller MVVM在MVC的基础上,把控制层隐藏掉了. Vue不是一个MVVM ...

  2. [Java]基本数据类型与引用类型赋值的底层分析的小结

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/17969159 出自[进步*于辰的博客] 目录 1.关于 ...

  3. 从0开始设计_基于STM32F1的RC522读写卡

    从0开始设计_基于STM32F1的RC522读写卡 1.介绍看网上很多RC522的教程都是基于读卡ID的,这个对于很多应用来说其实没有什么用,最近刚好有个项目需要读写卡,而RC522又是非常常用的且不 ...

  4. APReLU:跨界应用,用于机器故障检测的自适应ReLU | IEEE TIE 2020

    论文的工作属于深度学习在工业界的应用,借鉴计算机视觉的解决方法,针对机器故障检测的场景提出自适应的APReLU,对故障检测的准确率有很大的提升.论文整体思想应该也可以应用于计算机视觉,代码也开源了,大 ...

  5. 自己写个网盘系列:③ 开源这个网盘编码,手把手教你windows linux 直接部署,docker本地打包部署网盘应用

    系列①②已经完成了这个项目的页面和项目的全部编码,前后端分离,这个文章将向你展示运维小伙伴如何部署到windows服务器,linux服务器,docker部署,一学就会,快来看看吧! 说明:这个系列准备 ...

  6. springboot3接入nacos

    参考:https://blog.csdn.net/qinguan111/article/details/132877842(连接不上nacos) https://verytoolz.com/yaml- ...

  7. 如何在Java中读取超过内存大小的文件

    读取文件内容,然后进行处理,在Java中我们通常利用 Files 类中的方法,将可以文件内容加载到内存,并流顺利地进行处理.但是,在一些场景下,我们需要处理的文件可能比我们机器所拥有的内存要大.此时, ...

  8. 性能测试思想(What is performance testing?)

    1.什么是性能测试 什么是软件性能? 定义:软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能是展示出来的及时性. 比如:一个登录功能他能实现登录操作,但是登录 ...

  9. 知名压缩软件 xz 被植入后门,黑客究竟是如何做到的?

    昨天,Andres Freund 通过电子邮件告知 oss-security@ 社区,他在 xz/liblzma 中发现了一个隐藏得非常巧妙的后门,这个后门甚至影响到了 OpenSSH 服务器的安全. ...

  10. 【开源三方库】Aki:一行代码极简体验JS&C++跨语言交互

      开源项目 OpenHarmony 是每个人的 OpenHarmony 一.简介 OpenAtom OpenHarmony(以下简称"OpenHarmony")的前端开发语言是A ...