为什么我们在嵌入式设备中需要引导加载程序? [英] Why do we need a bootloader in an embedded device?

查看:32
本文介绍了为什么我们在嵌入式设备中需要引导加载程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在 ARM cortex-A8 上使用 ELinux 内核.

I'm working with ELinux kernel on ARM cortex-A8.

我知道引导加载程序是如何工作的以及它在做什么.但我有一个问题 - 为什么我们需要引导加载程序,为什么引导加载程序诞生?

I know how the bootloader works and what job it's doing. But i've got a question - why do we need bootloader, why was the bootloader born?

为什么我们不能在没有引导加载程序的情况下直接将内核从闪存加载到 RAM 中?如果我们加载它会发生什么?其实处理器是不会支持的,但是我们为什么要按照程序来呢?

Why we can't directly load the kernel into RAM from flash memory without bootloader? If we load it what will happen? In fact, processor will not support it, but why are we following the procedure?

推荐答案

引导加载程序是一种计算机程序,它在完成自检后为计算机加载主操作系统或运行环境.

A boot loader is a computer program that loads the main operating system or runtime environment for the computer after completion of the self-tests.

^ 来自维基百科文章

所以基本上引导加载程序正在做你想做的 - 将数据从闪存复制到操作内存中.真的就是这么简单.

So basically bootloader is doing just what you wanted - copying data from flash into operating memory. It's really that simple.

如果您想了解有关 boostrapping 操作系统的更多信息,我强烈建议您阅读链接的文章.除了测试之外,引导阶段还包括检查外围设备和其他一些事情.只有在非常简单的嵌入式设备上跳过它们才有意义,这就是为什么它们的引导加载程序更加简单:

If you want to know more about boostrapping the OS, I highly recommend you read the linked article. Boot phase consists, apart from tests, also of checking peripherals and some other things. Skipping them makes sense only on very simple embedded devices, and that's why their bootloaders are even simpler:

某些嵌入式系统不需要明显的启动顺序即可开始运行,并且在打开时可能只运行存储在 ROM 中的操作程序.

Some embedded systems do not require a noticeable boot sequence to begin functioning and when turned on may simply run operational programs that are stored in ROM.

同一个来源

这篇关于为什么我们在嵌入式设备中需要引导加载程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆