嵌入式100题(63):Bootloader多数有两个阶段的启动过程

Bootloader多数有两个阶段的启动过程

  bootloader一般都是分为两个阶段的,第一个阶段使用汇编来实现,它完成一些依赖于CPU体系结构的初始化,并调用第二阶段的代码;第二阶段则通常使用C语言来实现,这样可以实现更复杂的功能,而且代码会有更好的可读性和移植性。

   两个阶段如下:

一、第一阶段功能:

(1)硬件设备初始化。

(2)为加载bootloader的第二个阶段代码准备RAM空间。

(3)复制bootloader的第二个阶段代码到RAM中。

(4)设置好栈。

(5)跳转到第二阶段代码的C入口点。

二、第二个阶段的功能:

(1)初始化本阶段要使用到的硬件设备。

(2)检测系统内存映射。

(3)讲内核映像和根文件系统从Flash上读到RAM空间中。

(4)为内核设置启动参数。

(5)调用内核。

posted @ 2021-02-26 14:15  角色人生  阅读(763)  评论(0)    收藏  举报