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

目录
打赏
0
0
0
0
1
分享
相关文章
uboot启动流程源码分析(二)
uboot启动流程源码分析(二)
195 0
uboot 启动流程详细分析参考
uboot 启动流程详细分析参考
1193 1
U-BOOT小全(四):BootLoader源码(SPL-UBoot 1)
U-BOOT小全(四):BootLoader源码(SPL-UBoot 1)
414 0
U-BOOT小全(六):BootLoader源码(UBoot-Kernel 1)
U-BOOT小全(六):BootLoader源码(UBoot-Kernel 1)
140 0
U-BOOT小全(五):BootLoader源码(SPL-UBoot 2)
U-BOOT小全(五):BootLoader源码(SPL-UBoot 2)
451 0
虚拟化底层技术之——iommu技术综述
一、iommu 主要功能 IOMMU(i/o memory management unit)。iommu有两大功能:控制设备dma地址映射到机器物理地址(dmar),中断重映射(intremap)(可选) 1.1 dma地址空间映射 Iommu 的主要功能为设备dma时刻能够访问机器的物理内存区,同时保证安全性。
4955 0
【Arduino环境下驱动合宙esp32c3单片机基本外设】
【Arduino环境下驱动合宙esp32c3单片机基本外设】
821 1
【系统启动】uboot启动流程源码分析
【系统启动】uboot启动流程源码分析
337 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问