LV.13 D2 开发板启动流程 学习笔记

2023-12-14 00:15:50

一、开发板启动过程

EMMC:相当于电脑的外存,断电不丢失

????????开发板上电后首先运行SOC内部iROM中固化的代码(BL0),这段代码先对基本的软硬件环境(时钟等...)进行初始化,然后再检测拨码开关位置获取启动方式,然后再将对应存储器中的uboot搬移到内存,然后跳转到uboot运行

????????uboot开始运行后首先对开发板上的软硬件环境做进一步初始化,然后将linux内核、设备树(dtb)、根文件系统(rootfs)从外部存储器(或网络)搬移到内存,然后跳转到linux运行

设备树(dtb):存储硬件设备信息,linux和dtb加起来才是一个完整的Linux内核?

根文件系统(rootfs):根文件系统不属于linux,本质是一些文件,Linux运行之前需要用到这些文件。

????????linux开始运行后先对系统环境做初始化,当系统启动完成后,Linux再从内存中(或网络)挂载根文件系统?

地址映射表

? ? ? ? 一上电,芯片就会先执行IROM里的程序,这里就放着BL0,但是这段代码不是开源的我们不知道它写了什么。

0202 0000-0206 0000这段地址是三星设计的一块内存

1000 0000-1400 0000这段地址是特殊功能寄存器,之前裸机开发用到的寄存器大多在这段地址中。

4000 0000-A000 0000这1.5G是留给扩展内存的

A000 0000-FFFF FFFF这1.5G也是预留给扩展内存的

二、系统移植步骤

uboot移植 ?

linux内核移植(包含设备树) ?

根文件系统移植

文章来源:https://blog.csdn.net/djjyy/article/details/134907323
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。