Linux第38步_编译“正点原子移植好的uboot”

uboot的全称是Universal Boot Loader,uboot是一个遵循GPL协议的开源软件,uboot是一个裸机代码,可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB等高级功能

uboot官方的uboot源码是给所有的半导体厂商准备的。ST公司会uboot官方下载uboot源码,将自家的芯片移植进去,做了一个自己定制的uboot源码。显然,uboot官方的uboot源码没有ST公司做的全面。

学习Linux第38步,就是编译“正点原子移植好的uboot”,了解uboot是怎么编译的。

正点原子移植好的 uboot,路径为: “01、程序源码\01、正点原子Linux出厂系统源码\u-boot-stm32mp-2020.01-g00f14581-v1.4.tar.bz2”。

1、创建正点原子的uboot目录“alientek_uboot”

打开终端

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd linux回车”,切换“linux”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd atk-mp1/回车”,切换“atk-mp1”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“madir uboot回车”,创建“uboot”目录

输入“ls回车”,列出“atk-mp1”目录下所有的文件和文件夹

输入“cd uboot回车”,切换“uboot”目录下

输入“ls回车”,列出“uboot”目录下所有的文件和文件夹

输入“madir alientek_uboot回车”,创建“alientek_uboot”目录

输入“ls回车”,列出“uboot”目录下所有的文件和文件夹

见下图:

2、拷贝正点原子公司的uboot源码包

1)、双击桌面图标“FileZilla Client”,见下图:

2)、点击“文件”,接着点击“站点管理器(S)”,见下图:

得到下图:

3)、点击“连接”

4)、将“u-boot-stm32mp-2020.01-g00f14581-v1.4.tar.bz2”拖到“alientek_uboot”目录下。见下图:

3、回到终端修改“Makefile”文件,并编译uboot

1)、输入“cd alientek_uboot回车”,切换“alientek_uboot”目录下

输入“ls回车”,列出“alientek_uboot”目录下所有的文件和文件夹

见下图:

2)、解压

输入“tar -vxf u-boot-stm32mp-2020.01-g00f14581-v1.4.tar.bz2回车” ,解压

输入“ls -l回车”,列出“alientek_uboot”目录下所有的文件和文件夹

u-boot-stm32mp-2020.01-g00f14581-v1.4.tar.bz2是正点原子提供的uboot源码压缩包,其它文件和文件夹都是解压出来的uboot源码,见下图:

3)、输入“vim Makefile回车”,使用vim命令打开已有的“Makefile”文件,见下图:

4)、按“ESC键”,输入“/CROSS_COMPILE ?=”,查找“CROSS_COMPILE ?=”所在的位置,见下图:

5)、输入“回车键”,光标跳到/CROSS_COMPILE ?=”,见下图:

6)、输入“A”,光标跳到/CROSS_COMPILE ?=”所在行的尾部,见下图:

7)、移动光标键,添加ARCH = arm;

添加CROSS_COMPILE = arm-none-linux-gnueabihf-”;

见下图:

修改“Makefile”的原因:

如果不修改,我们需要输入很长的命令,才可以实现编译,如下面的命令:

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

修改后,就很简化了,就可以输入下面的命令来实现编译了:

make distclean回车                            //清除

make stm32mp157d_atk_defconfig回车           //配置uboot

make V=1 DEVICE_TREE=stm32mp157d-atk all回车  //编译

8)、按“ESC键”+“:wq键”,保存退出,见下图:

9)、编译

输入“make distclean回车”                            //清除

输入“make stm32mp157d_atk_defconfig回车”           //配置uboot

输入“make V=1 DEVICE_TREE=stm32mp157d-atk all回车”  //编译

10)、输入“ls -l回车”,列出“alientek_uboot”目录下所有的文件和文件夹

4、修改“tf-a.tsv”

1)、双击桌面图标“FileZilla Client”

将“u-boot.stm32”复制到“C:\Program Files\STMicroelectronics\images”目录下。

见下图:

2)、用“Notepad++”软件打开“后缀为.tsv”的脚本文件,修改如下:

3)、点击文件,再点击全部保存。

5、烧录

1)、关闭虚拟机,防止开发板连接到虚拟机

2)、将开发板上拨码开关拨到“000”位置

3)、将USB导线连接电脑的USB3.0接口,另外一端连接开发板的USB OTG接口;

4)、将USB导线连接电脑的USB3.0接口,另外一端连接到开发板的USB TTL接口;

5)、双击“STM32CubeProgrammer”图标

6)、选择上图中的USB,然后点击“Connect”

7)、点击“刷新”,直到出现USB1,表示连接成功。

8)、点击“Open file”,找到“C:\Program Files\STMicroelectronics\images”目录下“tf-a.tsv”打开。

9)、点击“Browse”,打开“C:\Program Files\STMicroelectronics\images”目录。

10)、点击下图中的“选择文件夹”

11)、点击下图中的“Download”

12)、烧录结束后,点击“确定”,见下图:

13)、关闭电源,将拨码开关设置为“010”

14)、重新上电启动开发板。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/358680.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSS自适应分辨率 postcss-pxtorem(适用于 Vite)

前言 此篇是基于 Vite Vu3 项目的 CSS 自适应分辨率! 如果想知道基于 Webpack Vue2 可移步 《CSS自适应分辨率 amfe-flexible 和 postcss-pxtorem(适用于 Webpack)》 项目对应的主要插件版本如下: "vite": "^4…

使用Win32API实现贪吃蛇小游戏

目录 C语言贪吃蛇项目 基本功能 需要的基础内容 Win32API 介绍 控制台程序部分指令 设置控制台窗口的长宽 设置控制台的名字 控制台在屏幕上的坐标位置结构体COORD 检索指定标准设备的句柄(标准输入、标准输出或标准错误) 光标信息结构体类型CONSOLE_CUR…

人人都可配置的大屏可视化

大屏主要是为了展示数据和酷炫的效果,布局大部分是9宫格,或者在9宫格上做的延伸,现在介绍下 泛积木-低代码 提供的大屏可视化配置。 首先查看效果展示 泛积木-低代码大屏展示。 创建页面之后,点击进入编辑页面,在可视…

电子液晶屏幕生产厂污废水处理需要哪些工艺设备

随着电子液晶屏幕行业的不断发展,污废水处理成为了一个重要的环保问题。为了达到合规性排放要求,并保护环境,厂家需要采取一系列工艺设备来处理污废水。 首先,常见的一种处理工艺是物理与化学处理。物理处理包括预处理与固液分离&…

Servlet过滤器个监听器

过滤器和监听器 过滤器 什么是过滤器 当浏览器向服务器发送请求的时候,过滤器可以将请求拦截下来,完成一些特殊的功能,比如:编码设置、权限校验、日志记录等。 过滤器执行流程 Filter实例 package com.by.servlet;import jav…

看过来:大龄程序员转行的18个方向

程序员35岁后,无人问津、被下岗,说到底还是中国互联网企业普遍短命和中国程序员新人不断涌现导致的,前者是岗位的缩减,后者是供应的增加,两者一叠加,35岁程序员就成了背锅侠。 大龄程序员和老医生一样都是非…

MySQL数据库基础合集

MySQL数据库基础合集 目录 MySQL数据库基础合集SQL关键字DDL关键字DML关键字DQL关键字DCL关键字约束关键字 SQL基础数据类型整数类型字符类型浮点类型时间类型 数据定义语言DDL1.查看数据库2.创建库3.删除库4.切换库5.创建表6.删除表7.查看表8.查看表属性9.插入列10.修改列11.设…

【MySQL】学习如何通过DQL进行数据库数据的条件查询

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-63IIm2s5sIhQfsfy {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

股票市场

(一)股票市场 顾名思义,就是买卖股票的场所。就是为了撮合想发展但缺钱的企业与有钱但想投资的投资者。 股票市场按照交易场所,可分为场内市场和场外市场: 场内市场是指证券交易所, 场外市场就是证券交易…

Java 学生管理系统

条件要求: 自己写的代码: public class Student{private String id;private String name;private int age;private String address;public Student() {}public Student(String id, String name, int age, String address) {this.id id;this.name name…

element ui组件 el-date-picker设置default-time的默认时间

default-time &#xff1a;选择日期后的默认时间值。 如未指定则默认时间值为 00:00:00 默认值修改 <el-form-item label"计划开始时间" style"width: 100%;" prop"planStartTime"><el-date-picker v-model"formData.planStart…

【论文解读】Collaboration Helps Camera Overtake LiDAR in 3D Detection

CoCa3D 摘要引言Collaborative Camera-Only 3D DetectionCollaborative depth estimationCollaborative detection feature learning 实验结论和局限 摘要 与基于 LiDAR 的检测系统相比&#xff0c;仅相机 3D 检测提供了一种经济的解决方案&#xff0c;具有简单的配置来定位 3…

【Linux】Linux环境基础开发工具使用

上篇博客我们学习了Linux权限相关知识&#xff0c;那么这节课我们来学习一下Linux环境基础开发工具使用吧~&#xff0c;主要包括yum、vim、gcc/g的使用&#xff0c;以及Linux项目自动化构建工具。 目录 Linux软件包管理器--yum yum是什么 yum相关操作 yum本地配置 Linux编…

程序员怎么写简历_写简历软件

你们在制作简历时&#xff0c;是不是基本只关注两件事&#xff1a;简历模板&#xff0c;还有基本信息的填写。 当你再次坐下来更新你的简历时&#xff0c;可能会发现自己不自觉地选择了那个“看起来最好看的模板”&#xff0c;填写基本信息&#xff0c;却没有深入思考如何使简历…

小程序样例5:简单登录界面

基本功能 1、头像选择、用户名、密码、昵称选择、性别、城市 2、确认注册跳转 我的页面。 3、其他注册方式跳转用户名 密码登录方式 4、清除 和 密码显示按钮&#xff1a; 5、用户名、密码合法性校验&#xff1a; 6、点击微信图标&#xff0c;调转回微信登录&#xff1a; 代码…

模糊神经网络控制器(MATLAB)

模糊神经网络控制器(Fuzzy Neural Network Controller)是将模糊控制和神经网络相结合的一类控制器。它综合了两者的优点,主要包括以下特点: 知识表达能力强。模糊系统的语言规则和神经网络的学习能力相结合,可以表示复杂的非线性映射关系。 自适应能力强。神经网络提供了在线学…

幻兽帕鲁服务器部署教程(超详细)

幻兽帕鲁服务器部署教程&#xff08;超详细&#xff09; 文章目录 幻兽帕鲁服务器部署教程&#xff08;超详细&#xff09;[TOC] 前言一、怎么部署属于自己的幻兽帕鲁服务器一、怎么登录游戏体验&#xff1f; 前言 在帕鲁的世界&#xff0c;你可以选择与神奇的生物「帕鲁」一同…

HCIA学习作业五

拓扑图&#xff1a; PC端 PC1>ipconfig PC2>ipconfig PC3>ipconfig PC4>ipconfig PC>ping PC1>ping 192.168.1.125 PC1>ping 192.168.1.254 PC1>ping 192.168.1.253 PC2>ping 192.168.1.125 PC2>ping 192.168.1.253 PC3>ping 192.168.1.126…

蓝桥杯备战——9.读写AT24C02

1.分析原理图 由上图我们可以看到AT24C02通过IIC与单片机进行通讯&#xff0c;由于A0,A1,A2都接地&#xff0c;所以器件地址为0XA0。 2.IIC通讯协议 比赛的时候会提供IIC驱动代码&#xff0c;我们不需要自己去写&#xff0c;我这里简单贴出一份&#xff1a; #include "i…

电池-电量监测基础知识

一、为何要进行电池电量监测 不知各位有没有想过为何现在手机电池和笔记本电脑电池不容易鼓包了&#xff1f;十年前还经常出现的电池鼓包最近像是消失了一样&#xff0c;其实是因为随着电量监测技术的发展&#xff0c;哪怕是最基本的电子设备也有电池侧和产品侧至少两级电量监测…