迅为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

相关文章

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

详解Spring Boot接收参数的19种方式

《详解SpringBoot接收参数的19种方式》SpringBoot提供了多种注解来接收不同类型的参数,本文给大家介绍SpringBoot接收参数的19种方式,感兴趣的朋友跟随小编一起看看吧... 目录SpringBoot接受参数相关@PathVariable注解@RequestHeader注解@Reque

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

RabbitMQ使用及与spring boot整合

1.MQ   消息队列(Message Queue,简称MQ)——应用程序和应用程序之间的通信方法   应用:不同进程Process/线程Thread之间通信   比较流行的中间件:     ActiveMQ     RabbitMQ(非常重量级,更适合于企业级的开发)     Kafka(高吞吐量的分布式发布订阅消息系统)     RocketMQ   在高并发、可靠性、成熟度等

Spring Boot 入门篇

一、简介 Spring Boot是一款开源的Java Web应用框架,旨在简化Spring应用的初始搭建以及开发过程。它整合了Spring技术栈中的诸多关键组件,为开发者提供了一种快速、简便的Spring应用开发方式。Spring Boot遵循“约定优于配置”的原则,通过自动配置、起步依赖和内置的Servlet容器,极大地简化了传统Spring应用的配置和部署过程。 二、Spring Boot

Spring Boot集成Tess4J实现OCR

1.什么是Tess4j? Tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统上运行。Tess4J是一个基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,说白了,就是封装了它的API,让Java可以直接调用。 Tess