【正文】
pute 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 TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WAR