系统移植就是给我们的开发板装一个LINUX系统
一、linux系统
什么是LINUX系统,它的作用是什么?
llinux就是一个操作系统:
它向上为应用层提供API(进程管理、内存管理、网络协议、文件系统)
应用层只管调函数,而LINUX系统就要去对这些机制的实现(当然肯定不是我们去写)
向下管理硬件(设备管理)
二、系统移植的目的
这里系统移植和安装是不一样的,安装就是给它装上去就好了,而移植是要让我们的开发板相匹配,我们直接装一个系统进去,那么开发板上有很多的东西都是不可以用的。
三、系统移植过程
老毛桃装机都装过吧,这就是WINDOWS下的系统安装,那么我们的LINUX系统安装也和它类似。
我们讲一下老毛桃装机怎么装。
1)
你要把你要的WINDOWS系统的ISO镜像文件下U盘吧(光盘也可以)
2)
你要让老毛桃把你的U盘变成一个驱动盘(其实就是老毛桃会在你的U盘里面刷一段程序,这个程序可以引导你怎么装系统)
3)
你要关机然后按热键让电脑进入BIOS界面(BIOS(Basic Input Output System)不是一个操作系统,只不过是一段电脑厂家放在iROM上的一段程序)
4)
然后选择u盘驱动,根据引导就完成了系统的安装。
——————————————————————
那么我们的linux系统的安装也是类似的
不过我不用什么垃圾老毛桃、我们用UBOOT
————————————————————
这只是我们装机的步骤,那么它在开发板上是怎么运行的呢?
五、开发板的启动过程
这就是把4412除掉外设的内容,跟核心板差不多
BL0:BL0 文件是存放在 CPU 内部 IROM 中的一段固化代码,CPU 上电之后,首先去运行 BL0 文件。
EMMC:相当于电脑的外存
IROM(片内rom):D地址映射表的0地址就是它,就是说开发板执行的启动首先就是执行里面的程序
那么,在IROM里面刷了一段BIOS的程序,所以一开机,就会进入BIOS界面。
——————————————————————
言归正传:启动步骤:
1)上电之首先运行soc内部iROM的程序,对基本的软硬件环境进行初始化
2)检测拨码开关的位置,选择启动方式
3)由于我们的UBOOT是在SD中是属于外存,外存只是用来存放文件的,只有在内存里面的文件才能被读取运行,、所以把UBOOT般到内存中
4)UBOOT开始运行之后,首先对开发板的硬件环境做进一步的初始化,然后将Linux内核,设备树(DTB)、根文件系统(rootfs)从(硬盘或者是网络)中般到内存,然后跳转的LINUX运行
5)Linux开始运行后对环境做初始化,但系统启动完成后,再从内存或网络挂载根文件系统。
可以分为这几步,那么我们知道了启动过程之后就知道,一个系统运行是这几步的
那么,我们的系统移植也是这几部,而且,BIOS不需要我们去管的
——————————————————————
总结我们系统移植只要三步。
—————————————————