一、开发板Linux启动需求
1、bootloader
为内核启动准备环境,并引导内核启动
2、kernel(linux内核)
操作系统的核心,(狭义上的操作系统)
3、rootfs
一堆有组织的文件
1. bootloader(一个裸机程序)
初始化CPU(工作模式)
初始化栈
初始化异常向量表
初始化时钟
初始化内存
关闭Cache
关闭MMU
关闭中断
关闭看门狗
初始化相关外设(串口、flash、网卡)
集成相关的协议
搬移内核到内存
向内核传参(根文件系统类型、位置,终端,ip, 指定init进程)
启动内核 --- CPU的控制权彻底移