【正文】
A boot loaders ? Embedded, IA and Compute Continuum ? Reasons and Rational ? IA Boot Loader Components of a typical Embedded System Embedded is a “specialized” puting system. System BIOS Boot Sequence ? BIOS is a layer between OS and hardware – Every platform needs a specific BIOS. But an OS can load on any platform. – BIOS provides low level hardware details through the OS by means of ACPI and MP tables besides “Run time ISR’s”. ? BIOS knows platform in details – Interrupt routing – μCode update – Chipset workarounds – Memory usage… Reset Vector Source: Gustavo Duarte System BIOS initializes lowlevel platform details. How Commercial BIOS Works? PowerON/ Reset start at 0xFFFFFFF0 Initialize RAM, PCI, Video … (real mode – 16 bits) Execute POST Configure Interrupt Services F1 / DEL? Execute SETUP MBR Reset Yes No Important memory regions during boot BIOS layout the memory regions for OS to operate properly. Possible BIOS Issues ? Redundant – Modern Operating Systems initialize hardware by itself and don’t use BIOS Interrupt services. ? Performance – Commonly runs on real mode. ? Suboptimal – Some mercial BIOS configure devices in a suboptimal way. ? Cost – Expensive for embedded platforms. ? BUGs – Can not fix it yourself! BIOS has inherent constraints for embedded systems! Embedded Bootloaders ? Foundational ponent for embedded software. ? Possible requirements of embedded bootloader: – Small Footprint – Easy Portability – Fast Boot, or – Capability to support certain specific features. ? Development of a bootloader – Write from scratch – Tailor an existing open source bootloader to suit the need. – Use 3rd party to develop Embedded Bootloaders have diversified requirements. Embedded Bootloader Architecture ? In general, bootloader architecture depends on: – Processor family, – Chipsets present on the hardware platform, – Boot device, and – OS running on the device. ? Effects of the processor family on bootloader architecture: – Even when two platforms are based on similar processor cores, the bootloader architecture may differ based on the SoC. – An x86 bootloader might need to switch to protected mode to load a kernel bigger than the 1MB realmode limit. – Non x86 embedded platforms cannot avail legacy BIOS services. – A bootloader for a device designed around the StrongARM processor has to know whether it39。s booting the system or waking it up from sleep, because the processor starts execution from th