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

一、开发板启动过程

LV.13 D2 开发板启动流程 学习笔记_第1张图片

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

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

LV.13 D2 开发板启动流程 学习笔记_第2张图片

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

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

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

LV.13 D2 开发板启动流程 学习笔记_第3张图片

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

LV.13 D2 开发板启动流程 学习笔记_第4张图片

地址映射表

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

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

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

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

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

二、系统移植步骤

uboot移植  

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

根文件系统移植

你可能感兴趣的:(学习,笔记,arm开发,linux)