MC - Module - 4 Firmware (BCS402)
MC - Module - 4 Firmware (BCS402)
MODULE-4 CONT………..
FIRMWARE
• Firmware: Firmware and bootloader, ARM firmware suite, Red Hat redboot, Example:
sandstone, sandstone directory layout, sandstone code structure.
Textbook 1: Chapter 10
1. Andrew N Sloss, Dominic Symes and Chris Wright, ARM system developers guide, Elsevier,
Morgan Kaufman publishers, 2008.
• not all operating system images or application images need to be copied into RAM.
• The operating system image or application image can simply execute directly from ROM.
• In small devices which include flash ROM, simple flash ROM filing system (FFS), which allows
multiple executable images to be stored.
• The firmware must also understand the network protocol as well as the Ethernet hardware to load
the image from the network.
• A popular image format for ARM-based systems are
• Executable and Linking Format (ELF).
• Plain binary: doesn’t contain any header or debug information.
• Compressed image
Most firmware systems must deal with the executable form. Loading an ELF image involves
deciphering the standard ELF header information (that is, execution address, type, size, and so on). The
image may also be encrypted or compressed, in which case the load process would involve performing
decryption or decompression on the image.
• Timer support.
• Interrupt controllers—support for different interrupt controllers.
Debug Monitor- Angel:
• It allows communication between a host debugger and a target platform.
• It allows to inspect and modify memory, download and execute images, set breakpoints, and
display processor register contents.
• The Angel debug monitor must have access to the SWI and IRQ or FIQ vectors.
• . Angel uses SWI instructions to provides a set of APIs that allow a program to open, read, and
write to a host filing system.
• . IRQ/FIQ interrupts are used for communication purposes with the host debugger.
Explain Red Hat RedBoot MQP 2024 10M
Red Hat RedBoot:
• RedBoot is a firmware tool developed by Red Hat.
• It is an open source license with no royalties or up front fees.
• RedBoot is designed to execute on different CPUs (for instance, ARM, MIPS, SH, and so on).
• It provides both debug capability through GNU Debugger (GDB), as well as a bootloader.
• The RedBoot software core is based on a HAL.
• RedBoot supports these main features:
1) Communication: configuration is over serial or Ethernet. For serial, X-Modem protocol is
used to communicate with the GNU Debugger (GDB). For Ethernet, TCP is used to
communicate with GDB. RedBoot supports a range of network standards, such as bootp,
telnet, and tftp.
2) Flash ROM memory management—provides a set of filing system routines that can
download, update, and erase images in flash ROM. In addition, the images can either be
compressed or uncompressed.
3) Full operating system support—supports the loading and booting of Embedded Linux, Red
Hat eCos, and many other popular operating systems. For Embedded Linux, RedBoot
supports the ability to define parameters that are passed directly to the kernel upon booting.
Example : Sandstone:
Sandstone is a static design and cannot be configured after the build process is complete. It carries out
the following task.
1) Setting up target platform
2) Loading a bootable image.
3) Relinquish control to OS
The implementation is specific to the ARM Evaluator-7T platform, which includes an ARM7TDMI
processor. Table 4.8 lists the basic characteristics of Sandstone.