U-boot启动过程概述

   U-Boot(Universal Boot Loader),即通用Bootloader,是德国DENX小组开发的用于多种嵌入式CPU的bootloader程序。是遵循GPL条款的开放源代码项目。
      Bootloader不属于操作系统内核,这一部分代码不具有可移植性,在移植操作系统时,这部分代码必须加以改写:Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。

U-boot启动的最终目的:启动内核

两种情况:1.从XIP设备(Flash)XIP代表"Execute In Place",它是一种技术,允许嵌入式系统直接在非易失性存储器(如闪存)中执行程序,而无需将程序复制到随机存取存储器(RAM)中。

                    2.非XIP设备:将U-Boot指令赋值进内存里面。

  1. 初始化内存
  2. CPU从Flash(闪存芯片)中读内核或者通过EMMC控制器,将内核拷贝到RAM(内存)。
  3. 初始化硬件(比如时钟等)

一、阶段一:硬件设备的初始化

1.关闭MMU( Memory Management Unit,内存管理单元)

  1. 暂停操作系统或内核:在关闭 MMU 之前,通常需要停止操作系统或内核的正常运行,以免发生意外。

  2. 设置页表:在关闭 MMU 之前,通常需要设置一个简单的页表或地址映射表,将物理地址映射到逻辑地址。

  3. 关闭 MMU:针对特定的处理器架构和硬件平台,相应的指令可能会被用来关闭 MMU。例如,在 ARM 架构中,可以使用相应的寄存器设置指令来关闭 MMU。

  4. 禁用缓存:在关闭 MMU 后,也通常需要禁用缓存以确保内存访问的一致性。

  5. 初始化硬件设备:一旦 MMU 关闭,可以进行硬件设备的初始化操作,这可能涉及对不同设备寄存器的配置、初始化硬件中断、设置时钟等。

2.禁用CACHE(缓存)

  1. 禁用缓存:在某些处理器架构中,通过设置相应的寄存器或配置位来禁用缓存功能。对于不同的处理器架构可能会有不同的寄存器或指令来实现。

  2. 刷新缓存:在关闭缓存之前,通常需要确保缓存中的数据被刷新到内存。这是为了避免数据丢失或不一致性的问题。

  3. 关闭缓存一致性:某些处理器可能有缓存一致性相关的机制,需要根据需求关闭这些机制以确保适当的操作顺序。

  4. 确认关闭:在执行完关闭缓存的操作后,需要进行验证以确保缓存被正确禁用。

3.设置系统时钟比例、关闭看门狗

4.初始化外部存储器KSDRAM

  1. 确保硬件连接正确:首先确保外部存储器正确连接到系统中,并且所有必要的引脚和信号线都连接正确。

  2. 配置引脚复用:如果外部存储器控制器的引脚具有多个功能(复用功能),需设置正确的引脚复用以将控制器与外部存储器连接。

  3. 配置存储器控制器:根据外部存储器的规格和要求,配置存储器控制器。这可能涉及时序设置、数据宽度、频率设置等。

  4. 初始化存储器:在存储器控制器配置完成后,需要执行存储器的初始化序列,这可能包括发送特定的命令序列或设置存储器控制器的寄存器来初始化外部存储器。

  5. 进行校验:进行初始化后,通常需要进行一些校验操作来确保外部存储器初始化成功,存储器可以正确访问和读写。

  6. 测试稳定性:最后,进行一些读写测试以确保外部存储器的稳定性和可靠性。这些测试可帮助发现潜在的问题或错误。

  • 为加载u-boot的第二阶段代码准备RAM空间
  • 复制u-boot的第二阶段代码到RAM空间中:
  • 设置好栈;
  • 跳转到第二阶段代码的C入口点。

二、阶段二

  • 初始化本阶段要使用的硬件设备
  • 检测系统内存映射:
  • 将内核映像和根文件系统映象从Flash上读到RAM空间中;
  • 为内核设置启动参数;
  • 调用内核。

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

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

相关文章

成都欣丰洪泰文化传媒有限公司打造电商服务新标杆

随着互联网的快速发展,电子商务行业蓬勃兴起,成为推动经济发展的重要力量。在这个大背景下,成都欣丰洪泰文化传媒有限公司凭借其专业的电商服务,在激烈的市场竞争中脱颖而出,成为行业的佼佼者。 一、公司背景与实力 成…

gateway基本配置详解与深入分析

Spring Cloud Gateway 是基于 SpringBoot 和 Project Reactor 构建的 API 网关,用于提供路由、过滤和监控等功能。以下是V哥在 SpringBoot 3 项目中集成和配置 Spring Cloud Gateway 的基本步骤和深入分析,提供给你参考: 1、添加依赖 在你的…

【Qwen模型】QWEN TECHNICAL REPORT

【Qwen模型】QWEN TECHNICAL REPORT 论文信息 阅读评价 Abstract Introduction PreTraining ALIGNMENT(对齐) CODE-QWEN: SPECIALIZED MODEL FOR CODING MATH-QWEN: SPECIALIZED MODEL FOR MATHEMATICS REASONING RELATED WORK CONCLUSION 论文…

v1.9.2-httpsok快速申请免费SSL证书

v1.9.2-🔥httpsok快速申请免费SSL证书 介绍 httpsok 是一个便捷的 HTTPS 证书自动续签工具,专为 Nginx 、OpenResty 服务器设计。已服务众多中小企业,稳定、安全、可靠。 一行命令,一分钟轻松搞定SSL证书自动续期 更新日志 V1…

endnote21从安装到使用!文献引用!Mac版

视频学习和资源获取 新建库 选择上方导航栏处的File下的New 软件 软件界面可以分成四个部分 2是个人图书馆 3是对某一分类中文献的展示 最右侧是对具体一篇文献的摘要、编辑以及PDF 有回形针标志意味着这篇有全文,也就是有pdf 如果没有回形针代表它只有引文信…

HCIP的学习(10)

OSPF不规则区域划分 区域划分 非骨干与骨干区域直接相连骨干区域唯一 限制规则: 非骨干区域之间不允许直接相互发布区域间路由信息OSPF区域水平分割:从非骨干区域收到的路由信息,ABR设备能接收到不能使用(从某区域传出的路由&…

敢不敢挑战?看完这篇 Python 学习攻略不成大牛就请我退出 IT !

目录 0基础小白怎么学Python? Python基本概念最全图 1.Python 解释器: 2.Python数据结构: 3.变量与运算符: 4.Python 流程控制: 5.Python 文件处理: 6.Python 输入输出: 7.Python 异常…

注意力机制基本思想(一)

​🌈 个人主页:十二月的猫-CSDN博客🔥 系列专栏: 🏀《深度学习基础知识》 相关专栏: ⚽《机器学习基础知识》 🏐《机器学习项目实战》 🥎《深度学习项目实战…

2024年华中杯B题论文发布+数据预处理问题一代码免费分享

【腾讯文档】2024年华中杯B题资料汇总 https://docs.qq.com/doc/DSExMdnNsamxCVUJt 行车轨迹估计交通信号灯周期问题 摘要 在城市化迅速发展的今天,交通管理和优化已成为关键的城市运营问题之一。本文将基于题目给出的数据,对行车轨迹估计交通信号灯…

DBA面试(ORACLE ADG篇)

一、在Oracle的DG中,RFS、LNSn、MRP、LSP进程的作用分别是什么? 1.RFS进程 RFS(Remote File Server)进程主要用来接受从主库传送过来的日志信息。对于物理备库而言,RFS进程可以直接将日志写进Standby Redo logs&…

七月论文审稿GPT第4.5版:通过15K条paper-review数据微调Llama2 70B(含各种坑)

前言 当我们3月下旬微调完Mixtral 8x7B之后(更多详见:七月论文大模型:含论文的审稿、阅读、写作、修订 ),下一个想微调的就是llama2 70B 因为之前积攒了不少微调代码和微调经验,所以3月底apple便通过5K的paper-review数据集成功…

在Java Swing的JPanel中实现动态水印添加技术

在Java Swing的JPanel中实现动态水印添加技术 引言场景一:静态图片水印实现步骤应用示例 场景二:动态生成的组件水印应用示例结论 后续拓展 引言 在Java Swing应用程序开发中,JPanel作为基本的容器组件,常被用来构建丰富的图形用户…

机器视觉【1】-机械臂视觉

文章目录 Eye-to-HandEye-in-Hand基于Eye-in-Hand型机械臂单目视觉定位单目相机标定针孔相机模型畸变标定方法机械臂手眼标定手眼标定求解图像预处理图像灰度化与二值化图像滤波图像特征匹配机械臂单目视觉定位目标物体图像深度信息目标物体中心定位参考文献根据机械臂与相机所…

深圳南玻集团(二面)

不得不说这家公司的办事效率是真的高。我昨天下午3点面试的,4点结束。然后4点45分就跟我说面试通过了,叫我明天早上10点进行二面。二面聊了大概20分钟左右吧,那个面试官是信息部的,好像是个总监还是总经理,反正叫沈总。…

详解人证合一API接口背后的身份信息认证

人证合一API接口是一种高级的身份验证解决方案,它将姓名、身份证号码、头像照片等多种生物特征和身份标识信息相结合,通过云端智能分析并与公安部门权威数据库进行实时比对,以确定用户身份的真实性。这个过程不仅仅停留在表面文字信息的匹配&…

基于PyAutoGUI图片定位的自动化截图工具--完成了

1、计划 压测完成后需要编写性能测试报告,报告中所需数据截图较多,使用自动化操作方便快捷,就编写一个界面工具以便后续复用。 基于PyAutoGUI图片定位的自动化截图工具–jmeter部分 基于PyAutoGUI图片定位的自动化截图工具–jmeter部分&#…

jenkins从节点配置说明

目的 打包构建时使用从节点,从节点所在服务器配置4C8G5000G(服务器2) 前提 首先在服务器1上部署jenkins服务,即主节点,默认节点名称为master 步骤 1)登录进入jenkins平台,在系统设置中&…

AJAX 入门到实战 第1天 2024 笔记

1.1-AJAX入门与axios使用 1.2-认识URL 1.3-查询参数 1.4-案例_地区查询 <script src"https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script><script>/*获取地区列表: http://hmajax.itheima.net/api/area查询参数:pname: 省份或直辖市…

基于adb操作安卓手机封装的python库

import re import shlex import subprocessclass ADBClient:def __init__(self, ip, port):"""初始化ADBClient实例。:param ip: 远程设备的IP地址。:param port: 远程设备的端口号。"""self.ip ipself.port portdef is_app_running(self, pac…

李沐53_语言模型——自学笔记

语言模型 1.预测文本序列出现的概率 2.应用在做预训练模型 3.生成文本&#xff0c;给定前面几个词&#xff0c;不断生成后续文本 4.判断多个序列中哪个更常见 真实数据集的统计 《时光机器》数据集构建词表&#xff0c; 并打印前10个最常用的&#xff08;频率最高的&…