嵌入式系统中boot的理解

demi的头像

1. 首先boot和boot loader是一个东西吗?是的,都是一个东西。

2. Boot中包含了CPU的初始化代码,Memory与外围接口的初始化代码,随后会回引系统(OS),最后将控制权交给OS,编译完成后将二进制文件烧入FLASH。如果板卡复位,CPU异常矢量或复位矢量指的地址就是FLASH地址,Flash中的Boot代码初始化CPU、Memory、简单的外设,随后把Flash中的OS移到内存里,随后OS就会引导起来。

3. boot其最大的作用就是系统初始化,分配内存,将应用代码(可以带OS,也可以不带)从FLASH中导入内存,最后将运行指针指向这段代码,把控制权交给应用程序。

4. Bootloader是在操作系统运行之前执行的一小段程序,通过这一小段程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。意思就是说如果我们要想让一个操作系统在我们的板子上运转起来,我们就必须首先对我们的板子进行一些基本配置和初始化,然后才可以将操作系统引导进来运行。

5. 没有操作系统的简单嵌入式计算机,系统上电后,通常直接进入用户应用程序,有操作系统的计算机中,上电后首先运行的是一个标准化的软件—–引导程序(bootloader)

6. 固化在ROM、FLASH中的软件称为固件。

7. 嵌入式系统软件的四个层次。A,引导加载程序—bootloader。B,操作系统内核(任务管理,内存管理,设备驱动)C,文件系统,图形界面,D,应用软件。

8. bootloader两种操作模式:

  •   启动加载模式,自动加载并启动操作系统,不需要用户参与。

  •   下载模式,用户可通过系统控制台命令行的方式向系统发出控制命令,用户常在该模式下使用下载命令,通过串口、以太网等从开发机下载文件。

来源:网络