uboot大致流程总结

文章目录

  • 一、uboot介绍
  • 二、uboot的配置编译过程
    • 2.1 make xxx_defconfig
    • 2.2 make

一、uboot介绍

uboot是一个bootloader,用于在嵌入式设备中引导linux内核启动,在嵌入式设备中常见的组织结构如下:
芯片内部固化代码 -> bootloader -> kernel -> rootfs

所以uboot的主要功能如下:

  1. 读flash,把内核加载到内存
    • 初始化内存控制器
    • 初始化flash、clock等外设
    • 从flash中拷贝内核放到内存中
  2. 启动内核

简单说明uboot的启动流程:
针对非xip类型的芯片通常内部会有一个bootrom,上电以后它会去根据bootppin来获取当前是从哪个启动设备启动,然后加载对应的启动设备驱动获取对设备的读写能力,然后将启动设备里面uboot的前一部分(比如4k)读取到到内部的sram中开始运行,这一部分代码要通过内存控制器完成对外部sdram的驱动,然后将启动设备里面的完整uboot加载到sdram中,然后在重定向到sdram的相同位置继续执行剩下的完整uboot功能,将kernel也从启动设备中加载到sdram中,还有初始化网卡、屏幕等剩余使用到的外设,加载网络驱动,加载uboot使用的cmd等内容,最后如果没有交互那么它的最终目标就是跳转到kernel的启动入口,启动内核。
在这里插入图片描述

二、uboot的配置编译过程

2.1 make xxx_defconfig

make xxx_defconfi过程第一步会首先创建得到conf工具,然后利用这个conf工具将config/下面的xxx_defconfig文件拷贝到uboot跟路径下的.config文件。
这个.config文件的作用有两个:

  1. 控制整个编译过程的行为,决定编译哪些内容
  2. 会转变成include/config.h头文件,代码里通过宏来获取具体的参数,比如串口波特率等信息。

2.2 make

执行make的主要过程:

  1. 检查更新头文件config.h u-boot.cfg(通过.config还有uboot默认的一些cmd配置头文件结合生成)
  2. 制作一系列工具
  3. 交叉编译源码

uboot的最终编译产物:

  • 得到elf格式的u-boot-nodtb.bin
  • dtb
    上面两个文件结合起来的到u-boot.bin
    这里是通用流程,后续厂商会基于这个文件在定制自己的内容,比如在u-boot.bin前面添加头信息得到u-boot.stm32。

在这里插入图片描述

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

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

相关文章

40+ Node.js 常见面试问题 [2024]

今天就开始你的Node.js生涯。在这里,我们探讨了最佳Node.js面试问题和答案,以帮助应届生和经验丰富的候选人获得理想的工作。 Node.js 是许多大公司技术堆栈的重要组成部分,例如 PayPal、Trello、沃尔玛和 NASA。 根据 ZipRecruiter 的数据&…

算法练习|Leetcode49字母异位词分词 ,Leetcode128最长连续序列,Leetcode3无重复字符的最长子串,sql总结

目录 一、Leetcode49字母异位词分词题目描述解题思路方法:哈希总结 二、Leetcode128最长连续序列题目描述解题思路方法:总结 三、Leetcode3无重复字符的最长子串题目描述解题思路方法:双指针法总结sql总结 一、Leetcode49字母异位词分词 题目描述 给你一个字符串数组&#xf…

模板初阶

泛型编程: 泛型编程:编写与类型无关的通用代码,模板是泛型编程的基础 class Test { public:void Swap(int& left, int& right){int tmp left;left right;right tmp;}void Swap(double& left, double& right){double tmp…

AR HUD_VSLAM+显示技术

智能座舱的一个重要技术方向是表达与展示。HUD可以将驾驶相关的信息,如车速、导航等投射到驾驶员的视线上方,避免驾驶员的目光离开前方道路。这种显示方式可以提供关键信息的实时展示,减少驾驶员的分心。 HUD的技术原理就是通过光学系统将信息…

网络工程师----第十一天

OSPF: 对称加密算法: 也称为私钥加密或单密钥算法,是一种加密方式,其中加密和解密使用相同的密钥。这种算法的优点包括加密解密速度快、计算量小,适用于大量数据的加密。然而,它的缺点是密钥的安全性难以保…

入坑 Node.js 1

原文:https://blog.iyatt.com/?p14717 前言 前面刚刚对 Spring Boot 有了个概念,再来学学 Node.js,顺便当学 JavaScript,为后面入前端做准备。 环境 Node.js 20.12.2 官方 API 文档:https://nodejs.org/docs/lat…

前端CSS基础6(CSS列表与表格的相关属性,边框的样式调整)

前端CSS基础6(CSS列表与表格的相关属性,边框的样式调整) CSS列表相关属性CSS表格相关属性回忆表格边框相关属性单元格边框相关属性回忆单元格的跨行和跨列操作单元格边框的相关属性 CSS列表相关属性 在 CSS 中,列表(L…

多元函数泰勒公式(含黑塞矩阵)

一元函数的泰勒公式: 接下来,由一元函数有关知识,我们有: 注意这里的dxn中,应把dx看作一个整体,即一个微小变量的n次方 我们接下来推导微分算子: 接下来,把一元泰勒公式转为微分形式: 对于二元…

arm架构,django4.2.7适配达梦8数据库

【Python相关包版本信息】 Django 4.2.7 django-dmPython 3.1.7 dmPython 2.5.5 【达梦数据库版本】 DM Database Server 64 V8 DB Version: 0x7000c 适配过程中发现的问题如下: 错误一:d…

OWASP发布十大开源软件安全风险及应对指南

​ 最近爆发的XZ后门事件,尽管未酿成Log4j那样的灾难性后果,但它再次敲响了警钟:软件供应链严重依赖开源软件,导致现代数字生态系统极其脆弱。面对层出不穷的安全漏洞,我们需要关注开源软件 (OSS)风险 ,改进…

上海鑫吉百数——让制造型食品企业焕发新生机!

随着全球化和互联网的普及,食品行业的竞争也日益激烈。数字化转型有助于企业打破地域限制,拓宽市场渠道,提升品牌影响力和竞争力。在信息化、网络化的时代背景下,数字化转型成为企业适应社会发展的必然选择。消费者对于食品的需求…

照片相似性搜索引擎Embed-Photos;赋予大型语言模型(LLMs)视频和音频理解能力;OOTDiffusion的基础上可控制的服装驱动图像合成

✨ 1: Magic Clothing Magic Clothing是一个以可控制的服装驱动图像合成为核心的技术项目,建立在OOTDiffusion的基础上 Magic Clothing是一个以可控制的服装驱动图像合成为核心的技术项目,建立在OOTDiffusion的基础上。通过使用Magic Clothing&#xf…