3.29号系统移植

1. uboot介绍

bootloader:引导加载程序的统称

uboot是引导加载程序中的一种

1.1 uboot特点

  1. uboot是一个开源分布式软件
  2. uboot是由德国DNEX小组进行维护
  3. uboot支持多种硬件架构平台
  4. uboot是一个裸机开发程序
  5. uboot占用体积小
  6. uboot主要作用引导linux内核进行启动,并且内核启动成功之后,uboot生命周期结束

1.2 uboot命令

1.3 如何设置uboot命令

1.4 uboot启动模式

交互模式

自启动模式

2. 组网步骤(重点)

2.1 组网准备工作

2.2 ubuntu网络配置

2.3 开发板网络配置

2.4 测试网络是否成功

移植uboot前准备工作

3. uboot源码获取

4. 源码准备工作

4.1 准备源码

4.2 分析源码

5. 如何确定<board_name>名字

5.1 方式一

0、ubuntu连接网络成功,安装库:sudo apt-get install bison flex
1、通过以上分析可知默认的默认板子相关配置命令为make <board_name>_defconfig,所以在uboot源码目录下执行相关配置命令
    linux@ubuntu:~/FSMP1A/u-boot-2021.07$ make fsmp1a_defconfig

    ***
    *** Can't find default configuration "arch/../configs/fsmp1a_defconfig"!
    ***
    解释:不能找到默认的配置信息“arch/../configs/fsmp1a_defconfig”    
2、进入uboot源码目录下,  arch/../configs/目录下,查看相关的配置信息有哪些
    stm32mp15_basic_defconfig   : uboot非安全版本默认配置
    stm32mp15_trusted_defconfig : uboot安全版本默认配置

5.2 方式二

1、在uboot源码目录下,执行make fsmp1a_defconfig命令,因为有make参与,所以在Makefile中,可以找到目标
2、在uboot源码目录下,打开Makefile文件,搜索config目标
     563 %config: scripts_basic outputmakefile FORCE
     564     @echo "hello DC23101"
     565     @echo $(Q)
     566     @echo $(MAKE)                                                                                            
     567     @echo $(build)
     568     @echo $@
     569     $(Q)$(MAKE) $(build)=scripts/kconfig $@

3、在uboot源码目录下,执行make fsmp1a_defconfig,查看到变量的打印信息
     564     @echo "hello DC23101" ====> 打印内容:hello DC23101
     565     @echo $(Q) ====> 打印内容:@
     566     @echo $(MAKE)  ====> 打印内容: make                                                                                         
     567     @echo $(build)  ====> 打印内容:-f ./scripts/Makefile.build obj
     568     @echo $@ ====>打印内容: fsmp1a_defconfig
4、在uboot源码目录下,再次打开Makfile文件,将$(Q)变量去掉,查看打印信息
    563 %config: scripts_basic outputmakefile FORCE
    564     @echo "hello DC23101"
    565     @echo $(Q)
    566     @echo $(MAKE)
    567     @echo $(build)
    568     @echo $@
    569     $(MAKE) $(build)=scripts/kconfig $@   
5、在uboot源码目录下,执行make fsmp1a_defconfig,查看到变量的打印信息    
    make -f ./scripts/Makefile.build obj=scripts/kconfig fsmp1a_defconfig                      
6、在uboot源码目录下,进入scripts/kconfig目录,打开Makefile文件,搜索defconfig 
    linux@ubuntu:~/FSMP1A/u-boot-2021.07$ cd scripts/kconfig/
    linux@ubuntu:~/FSMP1A/u-boot-2021.07/scripts/kconfig$ vi Makefile 
    109 %_defconfig: $(obj)/conf
    110     @echo "hello world"
    111     $< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)  
7、 在uboot源码顶层目录下,执行make fsmp1a_defconfig,查看到变量的打印信息   
    hello world
    scripts/kconfig/conf  --defconfig=arch/../configs/fsmp1a_defconfig Kconfig
    解释:conf是一个可执行文件,将目标和Kconfig作为参数传递给conf,最终生成配置文件相关内容
     scripts/kconfig/conf:可执行文件
    --defconfig=arch/../configs/fsmp1a_defconfig : 目标
     Kconfig: 存放板子相关默认的配置信息

4. 安全版本和非安全版本区别

非安全启动流程

安全启动流程

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

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

相关文章

Vulnhub:BROKEN: GALLERY

目录 信息收集 1、arp 2、nmap 3、nikto 4、whatweb WEB wen信息收集 目录扫描 进制转换 ssh登录 提权 信息收集 1、arp ┌──(root㉿ru)-[~/kali/vulnhub] └─# arp-scan -l Interface: eth0, type: EN10MB, M…

【Docker】搭建安全可控的自定义通知推送服务 - Bark

【Docker】搭建安全可控的自定义通知推送服务 - Bark 前言 本教程基于绿联的NAS设备DX4600 Pro的docker功能进行搭建。 简介 Bark是一款为Apple设备用户设计的开源推送服务应用&#xff0c;它允许开发者、程序员以及一般用户将信息快速推送到他们自己的iPhone、iPad等设备上…

4G/5G防爆布控球

#防爆布控球 #远程实时监控 #移动应急指挥 #高清图像采集 #防爆安全认证 4G/5G防爆布控球 M130-EX防爆布控球是针对石化装置、石油平台、燃气、化工、制药、煤炭、冶炼、船舶制造、纺织等易燃易爆环境及危险场所而开发设计的防爆智能一体化电气设备。 产品型号&#xff1a;M13…

如何使用potplayer在公网环境访问内网群晖NAS中储存在webdav中的影视资源

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

vue3 i18n国际化,普通js,ts文件中的设置方法

项目环境&#xff1a;vue3 ts element plus i18n vue3 ts i18n用法 1 在vue3ts中&#xff0c;如.<标签>{{ $t(login.title) }}</标签> <div class"title">{{ $t(login.title) }}</div>2 在<script setup>...</script>中 …

【C++】C++入门第二课(函数重载 | 引用 | 内联函数 | auto关键字 | 指针空值nullptr)

目录 前言 函数重载 概念 重载函数的条件 C支持重载函数的原理--名字修饰 引用 概念 特性 常引用&#xff08;const引用&#xff09; 使用场景 传值&#xff0c;传引用效率比较 引用和指针的区别 内联函数 概念 特性 auto关键字&#xff08;C11&#xff09; a…

NLP技术大解析:人工智能应用从分词到情感分析的全面指南

自然语言处理&#xff0c;简称NLP&#xff0c;是人工智能领域中的一个重要分支&#xff0c;致力于让计算机理解和生成人类使用的自然语言。随着科技的飞速发展&#xff0c;NLP已经渗透到我们生活的方方面面&#xff0c;从智能语音助手到在线翻译工具&#xff0c;再到社交媒体的…

Vscode下使用markdown入门

1.安装vscode插件 1. **Markdown All in One** ——提供丰富的Markdown相关的快捷键、自动补全功能&#xff0c;提高md文档编写生产力 2. **Markdown Preview Ehanced** ——用于渲染当前编写文档的效果同步预览 3. **Paste Image** ——用于快速引用图片至Markdown文…

程序汪接的4万智慧餐饮项目

本文章来自程序汪背后的私活小团队&#xff0c;开发智慧餐厅的小程序 由于程序汪太忙于是把这个项目让一个靠谱粉丝开发了&#xff0c;当然开发质量和进度我会跟踪&#xff0c;具体分析如下 B站【我是程序汪】 老程序员接了一个4万的智慧餐饮项目&#xff0c;开发周期60天 小程…

YoloV8改进策略:BackBone改进|GCNet(独家原创)

摘要 非局部网络&#xff08;NLNet&#xff09;通过为每个查询位置聚合特定于查询的全局上下文&#xff0c;为捕获长距离依赖关系提供了一个开创性的方法。然而&#xff0c;经过严格的实证分析&#xff0c;我们发现非局部网络所建模的全局上下文在图像中的不同查询位置几乎相同…

EFCore 反向工程(DBFirst)----慎用

使用EFCore时一般推荐code first&#xff0c;也就是先创建实体类&#xff0c;然后根据实体类生成数据表。但是有时候数据表已经存在&#xff0c;这时候就需要基于数据库表来创建实体类。 首先已经有数据表&#xff0c;显示如下&#xff1a; 下载依赖包&#xff1a; Microsoft…

C++——哈希(一)

1. unordered系列关联式容器 在了解哈希之前我们先简单了解一下unordered系列的关联式容器&#xff0c;因为其底层就是用哈希来实现的&#xff0c;其实也没啥好说的&#xff0c;C11中&#xff0c;STL又提供了unordered系列的关联式容器(unordered_map和unordered_set)&#xf…

python练习二

# Demo85def pai_xu(ls_test):#创建一个列表排序函数命名为pai_xu# 对创建的函数进行注释"""这是一个关于列表正序/倒序排列的函数:param ls_test: 需要排序的列表:return:"""ls1 [int(ls_test[i]) for i in range(len(ls_test))]#对input输入的…

Demis Hassabis,这位被封为爵士的AI领域的杰出研究者和神经科学家,是否能成为Google的救星?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

一文教会女朋友学会日常Git使用!Git知识总结

文章目录 一文教会女朋友学会日常Git使用&#xff01;Git知识总结一、git基本知识了解1.git简介2.git区域了解3.git常用命令 二、常用工作场景1.克隆远程仓库&#xff0c;把仓库代码拉到本地2.推送代码到远程仓库&#xff08;1&#xff09;本地代码和远程仓库版本相同&#xff…

200个有趣的HTML前端游戏项目合集(持续更新中)

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

计算机组成原理1:计算机系统概述

此系列介绍计算机的组成原理&#xff0c;参考书&#xff1a;《计算机组成原理考研复习指导》(王道论坛组编)。 1.计算机发展史 1.1 计算机发展 计算机变化 第一代计算机 ( 1946 − 1957 ) (1946-1957) (1946−1957)&#xff1a;电子管时代。 逻辑元件采用电子管&#xff1b;使…

Java封装最佳实践:打造高内聚、低耦合的优雅代码~

​ 个人主页&#xff1a;秋风起&#xff0c;再归来~ 文章专栏&#xff1a;javaSE的修炼之路 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克心守己&#xff0c;律己则安&#xff01; 1、封装 1.1 封装的概念 面向对象程序三大…

文献学习-24-用于少发罕见病诊断的动态特征拼接

Dynamic feature splicing for few-shot rare disease diagnosis Authors: Yuanyuan Chen, Xiaoqing Guo , Yongsheng Pan , Yong Xia , Yixuan Yuan Source: Medical Image Analysis 90 (2023) 102959 Keywords: 少样本学习 罕见病诊断 transformer 特征拼接 通道相似度 Ab…

FreeRTOS 任务挂起和恢复API函数

FreeRTOS 任务挂起和恢复API函数使用 挂起的作用就是当我们需要暂停某任务时候&#xff0c;等过一段时间在运行&#xff0c;这个时候要是使用删除和重建的方法就会当时任务进行时候的变量保存的值。当需要将这个任务停止运行一段时间的将这个任务挂起&#xff0c;当重新进行运…