uboot启动流程

news2024/12/25 9:48:59

目录

1. 从汇编到C语言


1. 从汇编到C语言

uboot整个程序的入口是 ./arch/arm/lib/vectors.S 的 start

其中,reset 来自于 ./arch/arm/cpu/armv7/start.S

./arch/arm/cpu/armv7/start.S 程序的执行路径为 reset --> save_boot_params_ret --> cpu_init_crit。 cpu_init_crit则调用了 lowlevel_init.

lowlevel_init 来自于 ./arch/arm/cpu/armv7/lowlevel_init.S

 其中,s_init 来自于 ./arch/arm/mach-imx/mx6/soc.c

当执行完 s_init 后,程序流会回退到 ./arch/arm/cpu/armv7/start.S,执行 main。

main 的定义位于 ./arch/arm/lib/crt0.S

 

在main函数里,将会依次调用 :

board_init_f ( common/board_f.c ) init_sequence_f[]     // 就是那个函数指针数组,包含

                                                                                        // 初始化串口的功能
relocate_code ( arch/arm/lib/relocate.S )
relocate_vectors ( arch/arm/lib/relocate.S )
board_init_r ( common/board_r.c )

总结一下,uboot启动后,程序流的执行路径:

 

 

 

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

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

相关文章

【C语言数据结构(基础版)】第四站:栈和队列

目录 一.栈的表示和实现 1.栈的概念及结构 2.栈的实现 二、栈的实现 1.栈的声明和定义 2.栈的初始化 3.栈的销毁 4.入栈 5.出栈 6.返回栈顶元素 7.返回栈的元素个数 8.栈是否为空 9.测试 三、栈的完整代码 四、队列的表示和实现 1.队列的概念和结构 2.队列的实现…

光环:工业互联网探索及案例——杨宝刚

摘要:文章内容主要来源于光环国际2022年第三届中国科创者大会杨宝刚老师的分享,原分享名称为"工业互联网助力企业数智化转型"。讲述了工业互联网概念及用友锅炉的一个实例运用。业互联网是一个整合平台,把你的需求告诉平台&#xf…

比亚迪携手亚洲足球小姐王霜发布品牌广告:为梦想,一路向前

在世界杯进入半决赛的最后一天——12月15日,比亚迪发布了全新的品牌宣传片《为梦想,一路向前》:携手亚洲足球小姐王霜,通过足球与梦想的故事,向每一位勇敢前行的追梦人致敬。业内几乎所有人都肯定了此次合作&#xff0…

java基于微信小程序的点餐系统-计算机毕业设计

开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:…

JavaEE【Spring】:SpringMVC 程序开发

文章目录一、概念1、MVC 定义2、MVC 和 Spring MVC 的关系3、Spring MVC 和 Spring 的关系二、Spring MVC 创建和连接1、创建 Spring MVC 项目① 对比② 注意2、RequestMapping 注解介绍3、RequestMapping 是 post 还是 get 请求?① GET② POST4、GetMapping 和 Pos…

Transformer16 ~Robotics

还是Transformer相关 ,谷歌机器人团队等提出了 Robotics Transformer 1 (RT-1)。这是一种多任务模型,可以 tokenize 机器人的输入和输出动作,从而在运行时实现高效推理,使实时控制成为可能。 论文 1:RT-1: Robotics Transformer …

最强工程项目进度计划管理系统Oracle Primavera P6软件最新版本 22.12发布啦,新特征介绍

目录 一:前言 二:P6 22.12 新特征(EN) 三:P6 22.12 新特征(CN) 一:前言 近日,甲骨文(Oracle)公司发布了最新版本Primavea P6 2022版,最新版本号 22.12 Or…

day23 整合xxl-job上传近三天秒杀商品

整合xxl-job 1.部署调度中心 将doc目录下的sql脚本导入数据库 修改日志位置 maven打包mvn pageage -Dmaven.skip.testtrue 后台方式启动 nohup java -jar xxl-job-admin-2.3.0.jar > tag-web.log 2>&1 & 访问localhost:端口/xxl-job-admin 2.部署执行器…

[附源码]Nodejs计算机毕业设计基于疫情防控的超市管理系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

Innodb存储引擎-表(约束、视图、物化视图、分区表)

文章目录约束(数据完整性)视图物化视图分区表概述分区类型子分区分区和性能在表和分区间交换数据约束(数据完整性) 关系型数据库系统和文件系统的一个不同点是,关系数据库本身能保证存储数据的完整性,不需要应用程序的控制,而文件系统一般需…

ArcGIS Pro 加载项(6)——样式符号属性对调

之前是已经通过Python构建脚本工具,实现了stylx文件的符号属性的对调。 ArcGIS Pro脚本工具(12)——样式符号属性对调_学学GIS的博客-CSDN博客为地类做样式符号匹配经常碰到这样的问题:属性表里面只有地类代码,但是做…

win10+VS2017+OpenGL ES3.0 环境配置 源码编译及示例运行

win10VS2017OpenGL ES3.0 环境配置 源码编译及示例运行 win10VS2017OpenGL ES3.0 环境配置 源码编译及示例运行 本人参考其他人的博客内容学习opengles3.0编程指南,并在win10系统上用VS2017对OpenGL ES3.0 进行了实际的环境配置及源码编译。 一、环境准备工作 1…

Java项目:SSM网上药品销售商城网站系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本系统分为前后台,分为管理员与普通用户两种角色,前台由普通用户登录,后台由管理员登录; 管理员…

架构师必读 —— 逻辑模型(3)

逻辑思考总是从提问“为什么”开始 培养逻辑思考习惯的捷径之一,就是经常问自己“为什么”。无论收到什么信息,都应该试着问一句“为什么”。 举个例子,A公司收购了其他竞争公司。为什么会收购呢? 这其中隐藏着A公司的发展战略。另…

闲置物品交易系统

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 基于55m闲置物品交易系统 网站前台:关于我们、联系我们、公告信息、闲置物品、求购信息 管理员功能&#xf…

多态的学习

目录什么是多态多态有啥限制条件吗?重写向下转型和向上转型向上转型向下转型多态的优点多态缺陷避免在构造方法中调用重写的方法什么是多态 多态的概念:就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。 举个例子大家就知道了&…

vue router动态路由与路由的匹配

vue router动态路由与路由的匹配&#xff0c;路由使用正则语法 一、动态路由 1.1 新建一个 user.vue文件 在views文件夹&#xff0c;新建一个user.vue文件 <template><div>用户{{id}}</div> </template><script setup>import { useRoute } from…

SAP ABAP Algorithm 计算一组数据样本的常用统计值(最大值/最小值 /平均值/中位数/众数/总数/方差/标准差 )

SAP ABAP Algorithm 计算一组数据样本的常用统计值(最大值/最小值 /平均值/中位数/众数/总数/方差/标准差 ) 引言&#xff1a; 这是统计学常用统计值的 ABAP 实现&#xff0c;这些统计值可以用在一些统计分析型报表中。 关键字&#xff1a;SAP ABAP Algorithm 算法 统计值 文…

Pytest测试框架(4):conftest.py文件应用---实现数据共享

conftest.py文件&#xff1a; pytest中的fixture是pytest用于将测试前后进行预备&#xff0c;清理工作的代码分离出核心测试逻辑的一种机制。但是我们更加希望的是在一个测试套件中&#xff0c;能够共享fixture的机制&#xff0c;这样一个测试套件里面的所有测试点都能够共同使…

Innodb存储引擎-idb文件格式解析

文章目录ibd 文件格式解析idb文件page类型和格式(File Header & Trailer)FIL_PAGE_TYPE_FSP_HDR格式Extent Descriptor格式Extent Descriptor链表管理Inode page链表管理FIL_PAGE_INODE格式Segment inode链表管理FIL_PAGE_TYPE_XDESFIL_PAGE_INDEX格式记录存储格式compact …