迅为iTOP-STM32MP157开发板编译U-Boot

2023-11-07 12:10

本文主要是介绍迅为iTOP-STM32MP157开发板编译U-Boot,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

uboot 是一段裸机代码,它的实现非常复杂,主要是初始化一些硬件,部署整个计算机系统,将内核读到内存,根据环境变量去启动内核,并向内核传递参数。它的目标就是启动内核,内核启动后它的生命也随之结束。
u-boot 是 SourceForge 上的开源项目,由一个人发起,然后由整个世界所有感兴趣的人共同维护发展而来的一个 bootloader,bootloader 是用来引导和加载内核,向内核传递参数的,是内核引导程序的统称,bootloader 除了 u-boot 还有 bios,LilO,redboot,vivi 等。Uboot 的源码存放路径为“iTOP-STM32MP157 开发板光盘资料\04_TF-A、uboot 和内核源码\uboot”,如下图所示:

Uboot 源码的编译器和编译 TF-A 的编译器相同为 gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf。将源码拷贝源码到“/home/topeet”目录下,使用如下命令解压:tar -vxf u-boot-stm32mp-2020.01-r0_20210817.tar.gz(注意,日期后缀名可能会更新)解压源码压缩包,解压完成之后得到“u-boot-stm32mp-2020.01-r0”文件夹。
使用命令进入 uboot 的源码如下图所示:cd u-boot-stm32mp-2020.01-r0/

三个个文件分别为编译的 makefile 文件和 EMMC 和 TF 卡编译的源码。
我们以 EMMC 源码编译为例(TF 卡的 uboot 镜像编译步骤相同),使用命令
cd emmc_u-boot-stm32mp-2020.01/
进入到对应的源码目录下,如下图所示:

然后使用命令“./create.sh”进行编译,如下图所示:

编译过程如下图所示:

编译完成如下图所示:

编译完成之后会在上一级目录产生 build-trusted 目录,用来存放编译生成的文件。而我们所需要的文件为 u-boot.stm32 如下图所示:

至此我们的 uboot 编译就完成了。然后在 build-trusted 目录下使用以下命令cp u-boot.stm32 /home/image/uboot/emmc_emmc_u-boot.stm32
来替换掉烧写文件中关于 emmc 的 uboot 即可(每个人 image 的路径都不同,要根据自己的情况来完善命令)。

核心板参数
尺寸:        46mm*58mm
CPU:        STM32MP157A
主频:        650M
内存:        1G
存储:        8G
工作电压:        直流5V供电
系统支持:        流畅运行最小Linux系统、Buildroot、QT5.12.10、ubuntu_base_20.04、Debian系统
引角扩展:        引出脚多达240个,满足用户各类扩展需求
底板参数:
尺寸:        190mm*125mm
POWER:        电直流电源输入接口,12V/3A+电源输入
SWITCH:        电源开关
DIP:        SWITCH 4位拨码开关
ADC电位器:        1路
SDIO接口:        1个
JTAG:        1个
CAMERA接口:        1个
CAN接口:        1路CAN
User Key:        5个功能按键
MIC:        支持MIC输入
PHONE:        支持耳机输出
串口:        3路
USB Host:        2路 USB Host,支持USB2.0协议
TF Card:        1个标准TF卡接口
网口:        1路千兆以太网口
LED:        3个(1个电源指示灯,2个可控LED)
HDMI接口:        1路
LCD接口:        1路LVDS9(HDMI口输出LVDS信号),1路RGB
USB OTG:        2路 USB OTG2.0
RTC:        1个
RS485接口:        1路
WIFI/蓝牙芯片:        1路
4G模组选配:        1个
六轴传感器:        1个
蜂鸣器:        1个
红外传感器:        1个
光环境传感器:        1个
温湿度传感器:        1个
SPDIF接口:        SPDIF输入、SPDIF输出

这篇关于迅为iTOP-STM32MP157开发板编译U-Boot的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/363510

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

redis在spring boot中异常退出的问题解决方案

《redis在springboot中异常退出的问题解决方案》:本文主要介绍redis在springboot中异常退出的问题解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴... 目录问题:解决 问题根源️ 解决方案1. 异步处理 + 提前ACK(关键步骤)2. 调整Redis消费者组

Spring Boot 事务详解(事务传播行为、事务属性)

《SpringBoot事务详解(事务传播行为、事务属性)》SpringBoot提供了强大的事务管理功能,通过@Transactional注解可以方便地配置事务的传播行为和属性,本文将详细介绍Spr... 目录Spring Boot 事务详解引言声明式事务管理示例编程式事务管理示例事务传播行为1. REQUI

Spring Boot 集成 Solr 的详细示例

《SpringBoot集成Solr的详细示例》:本文主要介绍SpringBoot集成Solr的详细示例,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录环境准备添加依赖配置 Solr 连接定义实体类编写 Repository 接口创建 Service 与 Controller示例运行

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实