笔记整理—什么是uboot&内核

前几章我们用大量的时间介绍了uboot干了什么,本章我们将要对kernel于uboot的区别进行说明。

uboot启动完成后,使用bootm可以去启动内核。

uboot其实是一个裸机程序,只是复杂一点几乎可以看作是一堆东西的初始化再加上指令实现的。

内核位于操作系统中的内核层,在内存上对设备访问与内存访问要高于应用层。

uboot的镜像叫uboot.bin。linux的镜像叫zImage。

系统有对内存的更细致化管理以及权限的管理,在系统启动后才有了应用层和驱动层一说。uboot->zImage->系统。

在不通电的情况下,一个软件、系统,如bootloader、kernel、rootfs等都以镜像的形式存储在介质中,当上电后才在内存中运行,这叫静态过程。

将镜像从sd卡读取->内存->进行初始化与框架建立->形成一个稳定的过程,这叫动态过程。

静态加载要求,uboot和kernel的分区表保持一致,与sd卡实际使用分区保持一致。

uboot的第一阶段进行重定位将第二阶段加载到DDR中(对于X210而言是0xc3e00000),这个地址就是uboot的链接地址。

内核启动:使用uboot启动内核将uboot从SD卡(介质)中读到DDR中(重定位)放在内核的链接地址(0x30008000)。

uboot的启动条件是无条件启动的,而kernel是需要uboot进行重定位才能启动的。

下一章将会讲述kernel的启动过程与do_boot函数。

相关推荐
从零开始的嵌入式之旅6 小时前
day46
linux·arm开发·笔记·嵌入式硬件
老当益壮梁奶奶6 小时前
ARM汇编学习笔记(四):i.MX6ULL裸机开发:从汇编点灯到C语言BSP工程管理
c语言·arm开发·单片机·嵌入式硬件·51单片机
虚无的纽扣7 小时前
【Linux】将进程知识与基础IO融会贯通——简单自定义Shell的实现
linux·ubuntu
祖力557 小时前
ARM中断(IMX6ULL中断、GIC通用中断控制器)
嵌入式硬件·arm·imx6ull·中断·gic·通用中断控制器
傲世仙尊7 小时前
预处理详解-define宏井号条件编译一篇过
linux·c语言
忆挽篱笙歌7 小时前
linux基本指令
linux
老王爱玩车7 小时前
第6讲:数组和函数实践-----控制台扫雷
c语言·开发语言·学习
是隼人7 小时前
buuctf-pwn [NewStarCTF 2023 公开赛道]orw&rop(shellcode+orw)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
小小de风呀7 小时前
de风——【从零开始学习Linux】(五):gcc编译器的基本使用
linux·运维·服务器
一只旭宝7 小时前
面试预备:Linux指令专题
linux·笔记