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

news2025/4/16 5:56:08

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.coloradmin.cn/o/1425638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++ 字符串切分split

c 字符串切分split 的举例实现 一共给出了四种方式 1、 strtok 2、 stringstream 3、 字符串查找 4、 基于封装的方式&#xff0c;提供了 c11 foreach 接口 代码 vector<string> split(string s) {vector<string> res;const char *p strtok((char *) s.c_str(),…

【LVGL源码移植】

LVGL源码移植 ■ LVGL源码移植一&#xff1a;下载LVGL源码二&#xff1a;修改LVGL文件夹1: 将这5个文件&#xff0c;复制到一个新的文件夹2: 简化文件&#xff0c;减少内存消耗&#xff08;去除不必要的文件&#xff09;3: 为了规范化&#xff0c;我们将下列文件进行重命名 三&…

强化学习 - Monte Carlo Tree Search (MCTS)

什么是机器学习 强化学习中的Monte Carlo Tree Search (MCTS) 是一种用于决策制定和搜索的算法&#xff0c;特别在不确定环境下表现出色。 1. 强化学习背景 在强化学习中&#xff0c;一个智能体通过与环境的交互学习&#xff0c;以便在某个任务上获得最大的奖励。MCTS是一种…

Kotlin 协程:深入理解 ‘lifecycleScope‘

Kotlin 协程&#xff1a;深入理解 ‘lifecycleScope’ Kotlin 协程是一种强大的异步编程工具&#xff0c;它提供了一种简洁、易读的方式来处理并发和异步操作。在 Kotlin 协程库中&#xff0c;lifecycleScope 是一个关键的概念&#xff0c;它允许我们将协程的生命周期绑定到 An…

LeetCode 828. 统计子串中的唯一字符

一开始想的是两次前缀和&#xff0c;发现自己蠢了 看了灵神的题解&#xff0c;类似于DP的思想 我们维护以每个字符串结尾的子字符串对答案的贡献&#xff0c;s[i]的贡献是多少&#xff1f;首先我们知道他需要自己单独一个串或者接在以s[i-1]结尾的那些字符串的后面&#xff0c…

从法律风险的角度看待项目验收前自测的必要性

大家好&#xff0c;我是不会魔法的兔子&#xff0c; 一枚从事企业合同纠纷预防与解决的执业律师&#xff0c;从法律的角度分享关于项目管理中的问题及预防&#xff0c;让项目管理者能够提早发现与解决项目执行过程中的风险&#xff0c;同时欢迎大家一起交流&#xff0c;微信搜…

做外贸发货时发现货物有问题要怎么办

一个客户向一个伙伴订购了一批衣服&#xff0c;在准备装货的时候&#xff0c;小伙伴到工厂检查货物&#xff0c;发现衣服非常的潮湿&#xff0c;于是小伙伴担心货物万一经过长期的海运&#xff0c;到达客户那边发霉了怎么办呢&#xff1f; 但是工厂这边已经打好包装&#xff0c…

MySQL备份和恢复(二)mysqldump

注意&#xff1a;mysqldump是完全备份 一、mysqldump备份命令 1、 备份数据库 含创建库语句 &#xff08;1&#xff09;备份指定数据库 完全备份一个或多个完整的库&#xff0c; mysqldump -uroot -p[密码] --databases 库名1 [库名2].. >/备份路径/备份文件名.sql#导出…

CS144--Chapter0--wsl2+docker环境搭建

我的笔记本配置 荣耀magicbook16&#xff0c;容量是500G&#xff0c;芯片是R7-5800 由于笔记本容量较小&#xff0c;因此考虑这个方案&#xff0c;对于台式机用户&#xff0c;建议可以直接用虚拟机或者双系统。 前言 斯坦福官网给出的方法是用他们的镜像&#xff08;基于Ubu…

【Vue】2-8、Axios 网络请求

cdn&#xff1a;<script src"https://unpkg.com/axios/dist/axios.min.js"></script> 注&#xff1a;使用 CDN 链接就可以不需要去下载对应的 js 文件到本地&#xff0c;只需要联网即可使用&#xff0c;可以减少项目的体积 <!DOCTYPE html> <…

minio文件跨域问题

问题&#xff1a; 最近前端获取音频的波形报了个错&#xff1a; Access to audio at http://xxx/03.wav from origin http://zzz has been blocked by CORS policy: The Access-Control-Allow-Origin header contains multiple values zzz, *, but only one is allowed. 很奇怪…

FullStack之Django(2)模型和后台

FullStack之Django(2)模型和后台 author: Once Day date:2022年2月13日/2024年1月31日 漫漫长路&#xff0c;才刚刚开始… 全系列文档请查看专栏: FullStack开发_Once_day的博客-CSDN博客Django开发_Once_day的博客-CSDN博客 参考文档: 编写你的第一个 Django 应用&#…

归并排序----C语言数据结构

目录 引言 1.归并排序的实现----c2.归并排序的复杂度分析时间复杂度空间复杂度 引言 归并排序&#xff08;Merge Sort) 是一种基于分治法的排序算法&#xff0c;它的基本思想是将原始数组划分成较小的数组&#xff0c;然后递归地对这些小数组进行排序&#xff0c;最后将排好序…

实战项目(二)汽车保养管家系统

一、实现技术 前端技术&#xff1a;html、javascript(jquery、ajax、json)、css、layui 后端技术&#xff1a;java、mysql、servlet 开发工具&#xff1a;eclipse、vscode 二、项目描述 基于web的汽车保养管家系统的设计与实现 一、功能需求 1&#xff0e;用户功能 1.1…

Flink 1.18.1 部署与配置[CentOS7]

静态IP设置 # 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33# 修改文件内容 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic IPADDR192.168.18.128 NETMASK255.255.255.0 GATEWAY192.168.18.2 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INIT…

nodejs基于vue奖学金助学金申请系统08ktb

高校奖助学金系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品&#xff0c;体验高科技时代带给人们的方便&#xff0c;同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓&#xff0c;iOS相比较起来&#xff0c;…

【京东云新品发布月刊】2024年1月产品动态来啦

1&#xff09;【莫奈可视化平台】新品上线 京东莫奈可视化平台通过自由拖拽、图形化编辑、所见即所得的方式&#xff0c;快速实现极致酷炫、直观清晰的视觉场景&#xff0c;将海量繁杂数据背后所蕴含的价值更直观、深层、全面的展现出来&#xff0c;辅助决策者合理决策。 2&a…

微服务—RabbitMQ

目录 初识MQ 同步和异步通讯 同步通讯的优缺点 异步调用方案 异步通信优缺点 常见MQ技术对比 RabbitMQ快速入门 安装RabbitMQ RabbitMQ整体架构与相关概念 常见消息模型​编辑 入门案例 SpringAMQP 基本介绍 SpringAMQP案例——模拟HelloWorld消息模型 Sprin…

【数据结构 08】红黑树

一、概述 红黑树&#xff0c;是一种二叉搜索树&#xff0c;每一个节点上有一个存储位表示节点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个节点着色方式的限制&#xff0c;红黑树确保没有一条路径会比其他路径长上两倍&#xff0c;因而是接进…

《区块链简易速速上手小册》第8章:区块链的技术挑战(2024 最新版)

文章目录 8.1 可扩展性问题8.1.1 基础知识8.1.2 主要案例&#xff1a;比特币的可扩展性挑战8.1.3 拓展案例 1&#xff1a;以太坊的可扩展性改进8.1.4 拓展案例 2&#xff1a;侧链和分层解决方案 8.2 安全性与隐私8.2.1 基础知识8.2.2 主要案例&#xff1a;比特币交易的安全性8.…