U-boot 大体启动流程

简介: U-boot 大体启动流程

1.以board_init_f为函数的CPU级别的硬件初始化

GPIO gpio_init();

使能UART的CLK,为控制台打印信息做提前准备

初始化各种时钟,PLL,Timer

关闭看门狗

初始化DDR的CPU端的控制

转入下一阶段

2.以board_init_r为函数的板级别外设的硬件初始化

串口的初始化

Flash初始化(nor,nand)

MMC

PCI

标准的IO初始化(串口,LCD....)

SPI

I2C

USB

NET

......

添加外设初始化可以接着继续

main_loop()

至此硬件的初始化基本结束

3.main_loop 是业务相关的代码

如果需要引导系统进入引导内核,不需要的话进入命令行模式,根据用户输入的命令

将kernel从flash读到内存

读取kernel的4K头,分析系统类型(Linux,其他系统),运行的入口,kernel相关信息

l R0: 0x0

l R1: 机器号

l R2: 参数地址

三个参数传递给内核。

引导kernel

把使用权交给kernel

相关文章
|
6月前
|
监控 Java Spring
深入理解Spring Boot的启动过程
深入理解Spring Boot的启动过程
|
7月前
|
Java Spring 容器
深入理解Spring Boot启动流程及其实战应用
【5月更文挑战第9天】本文详细解析了Spring Boot启动流程的概念和关键步骤,并结合实战示例,展示了如何在实际开发中运用这些知识。
205 2
|
Java 应用服务中间件 Spring
源码解析Spring Boot 的启动流程
最近有位开发同学说面试被问到Spring Boot 的启动流程,以及被问到Spring Boot 的嵌入式Web容器是什么时候加载的。如何加载的。是怎么无缝切换的。这些问题,其实回答起来也是比较复杂的。我们今天就从 `SpringApplication.run(Application.class, args);`入口,逐渐向下看下执行流程。来试着回答一下前面这两个问题。后面关于SpringBoot 的web容器可以无缝随意切换为`jetty`,`undertow.`.这个问题的回答涉及到Spring Boot是如何设计WebServer的。我们后续专门讲解一下。
11179 1
源码解析Spring Boot 的启动流程
|
设计模式 程序员 应用服务中间件
深入理解SpringMvc 启动流程
深入理解SpringMvc 启动流程
252 0
|
IDE Java Maven
spring boot的项目启动方式有几种及详解?
spring boot的项目启动方式有几种及详解?
|
存储 XML Java
Spring启动过程源码分析
本文是通过 AnnotationConfigApplicationContext读取配置类来一步一步去了解Spring的启动过程。 在看源码之前,我们要知道某些类的作用,这样更方便后续的了解。
Spring启动过程源码分析
|
存储 内存技术
u-boot关于启动流程
u-boot关于启动流程
107 0
u-boot关于启动流程
|
Java Spring 容器
Spring 启动过程(下)
Spring 是我们最常用的框架之一,我们今天一起来带大家一些探究一下 Spring 的启动过程。 首先,Spring 的启动过程分为 12 个步骤主要是完成容器的初始化,以及对单实例非懒加载 Bean 完成创建和Bean 属性的赋值注入和初始化,以及消息派发器的创建和启动过程消息的触发。 补充:本文和后续版本基于 spring-5.1.14 版本展开
139 0
|
前端开发 Java Spring
Spring 启动过程(上)
Spring 是我们最常用的框架之一,我们今天一起来带大家一些探究一下 Spring 的启动过程。 首先,Spring 的启动过程分为 12 个步骤主要是完成容器的初始化,以及对单实例非懒加载 Bean 完成创建和Bean 属性的赋值注入和初始化,以及消息派发器的创建和启动过程消息的触发。 补充:本文和后续版本基于 spring-5.1.14 版本展开
433 0