首页 > 其他分享 >uboot核内核启动流程

uboot核内核启动流程

时间:2023-05-22 17:26:00浏览次数:36  
标签:初始化 uboot 启动 流程 RAM 内核 bootloader 阶段

bootloader 启动流程和功能说明

bootloader 基本功能说明

  • 有的程序在启动bootloader之前会运行一段 固化程序
  • bootloader 启动过程分单阶段和多阶段
  • 多阶段可以提供更复杂的功能和更好的移植性
  • 一般从固态存储设备启动分两个阶段

第一个阶段 bootloader 启动说明

源码 U-boot/arch/arm/cpu/xxx(armv7)/start.S

  • 硬件设备初始化(关闭 看门口, 关中断, 设置CPU的速度和时钟频率, RAM初始化)
  • 为加载第二阶段的 Bootloader 的代码准备 RAM 空间(初始化RAM芯片,使可用, 调用lowlevel_init使外接SDRAM可用)
  • 复制 Bootloader 的第二阶段代码到 RAM 空间
  • 设置好栈
  • 跳转到第二阶段代码的入口 C 处

第二个阶段 bootloader 启动阶段

  • 初始化本阶段要使用的硬件设备(CPU中断, 系统时钟,定时器, 检查flash, 串口初始化, 检测系统内存映射)
  • 检测系统内存映射
  • 将内核映像和根文件系统映像从 flash 上读到 RAM 空间中
  • 为内核设置启动参数
  • 调用内核, 至少初始化串口用于调试

bootloader 和 内核交互

  • 单向的交互
  • bootloader 将各类参数传递给内核, 由于不能同时运行, 传递办法只有一个: 将参数放在某个约定的地方
  • 然后再启动内核, 内核从约定的地方获取参数

标签:初始化,uboot,启动,流程,RAM,内核,bootloader,阶段
From: https://www.cnblogs.com/han-guang-xue/p/17420921.html

相关文章

  • RocketChip RISC-V 内核+ 亚马逊 AWS EC2 F1实例=FireSim云基硬件/软件协同开发环境
    https://docs.fires.im/en/stable/filesim文档网络电子商务巨头亚马逊已经广泛的将多个赛灵思公司的基于16nmFinFET工艺的VirtexUltraScaleVU9PFPGA部署到亚马逊弹性计算云(EC2)F1实例上。EC2是亚马逊云计算的基本平台,由于网络通信量复杂且随时变化,用户对计算能力的需求也在随着......
  • 【vue流程编辑器框架】Vue-Flowchart-Editor
    前言:不管是OA系统常见的审批流程图还是业务流程图,前端经常会遇到一些流程编辑器的业务场景,分享一个我举得好用的vue组件:Vue-Flowchart-Editor:一个基于Vue的流程图编辑器组件,支持创建、编辑和展示流程图,具有可拖拽节点、连接线、自动布局等功能。 官网地址:https://git......
  • < Python全景系列-3 > Python控制流程盘点及高级用法、神秘技巧大揭秘!
    欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。这是系列第三篇,在这篇文章中我们将全面深入地......
  • 【DSP视频教程】DSP视频教程第12期:TI开源分享IQmath DSP源码,适用于所有Cortex-M内核,本
    视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 今年TI推出MSPM0系列产品配套的SDK软件包里面将此库开源了,之前的时候也移植过IQmatb,不过只有库版本,这次竟然开源了,确实是不可多得的好资源。这个是定点库,非常适合用于M0,  M0+,  M3和不带硬件F......
  • DolohinScheduler 分布式任务调度框架 代码流程分解
    一、DS-API模块-执行工作流 -定时任务执行 更新schedule参数 -/schedule新增schedule参数做了什么事? 将schedule参数用ScheduleParam类进行解析 有效性校验,而后解析保存到t_ds_schedules表内,更新t_ds_process_definition表 -/onlin......
  • NIPT检测流程
      NIPT检测流程 转自:https://pzweuj.github.io/2019/03/20/NIPT.htmlNIPT即非侵入性产前检测,适用于检测21、18、13号染色体的三体综合征。实际上,NIPT的分析流程与CNV的分析流程相似。主要的分析流程是先得到唯一比对的reads,再提取每条染色体的reads来做一个Z检验得到Z值......
  • Menards EDI对接流程
    Menards是一家美国的家居建材零售商,成立于1962年,总部位于美国威斯康星州的伊甸谷市。该公司经营各种家居建材产品,包括木材、地板、墙纸、厨房卫浴用品等,并拥有超过300家门店,分布在美国中西部和北部地区。Menards的经营理念是“质量第一,客户至上”,致力于为顾客提供高品质、实用、耐......
  • 数模混合设计的LVS流程
    数模混合设计的LVS流程1.前言最近项目到了验证环节,在做LVS碰到了一些问题。网络上也没有文章给出完整的解决方案,自己试了一下,踩了一些坑之后基本上搞定了这个问题,现记录流程供学习交流。整体流程包括:数字模块单独LVS,模拟模块单独过LVS,数字网表反提原理图,顶层数字symbol处理,原......
  • 4.内核及启动流程和systemd及awk
    总结内核设计流派及特点宏内核(monolithickernel):又称单内核和强内核,unix,Linux吧所有系统服务都放在内核里,所有功能集成于同一个程序,分层实现不同功能。其实Linux在单内核实现了模块化,也就相当于吸收了微内核的优点微内核(microkernel):windows,Solaris,HarmonyOS。简化内核功能,在内核......
  • 使用API数据接口获取商品详情数据的流程
    API数据接口是开发者获取第三方平台数据的一种方式,使用API接口可以快速地获取海量的商品详情数据,相比其他方式更加高效、实时。下面将介绍使用API数据接口获取商品详情数据的主要流程和步骤:申请API密钥服装打折网站在使用基于淘宝商品数据的API时,需要首先在淘宝开放平台申......