笔记整理—什么是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函数。

相关推荐
奔跑的大白啊5 分钟前
多容器共享目录权限踩坑记
linux·ubuntu·共享目录·linux权限·docker 容器化部署
yyy(十一月限定版)9 分钟前
224redfg
c语言
恒锐丰科技林技术员14 分钟前
EG2129 带过流保护全桥驱动芯片解析
经验分享·嵌入式硬件·硬件工程
小师兄吃牛肉2 小时前
C语言中的nullptr有必要吗
c语言·c++·算法
女神下凡3 小时前
芯参谋(43):DDR4_电路设计指南
arm开发·单片机·嵌入式硬件·设计规范
Android系统攻城狮3 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
电子元器件选型哥3 小时前
MOS管驱动电阻怎么选?阻值大小到底影响什么?
单片机·嵌入式硬件·硬件工程师·半导体·电子元器件
H.莓飛4 小时前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
lhbweilai4 小时前
深挖FreeRTOS内核实现(三)
c语言·stm32·单片机
白搞电子4 小时前
ESP32-S31 上做可在线安装的 WASM 应用平台:0.4.9 Beta 发布
单片机·嵌入式硬件·物联网