Embedded System Software Terminologies
Embedded System Software Terminologies
terminologies
Kernel :
• The kernel is the fundamental part of an operating system.
• It is responsible for managing the resources and the communication
between hardware and software components.
• The kernel offers hardware abstraction to the applications and
provides secure access to the system memory.
• It also includes an interrupt handler that handles all requests or
completed I/O operations.
•
Bootloader
A bootloader is a small piece of software that executes soon after you power up a computer.
On a desktop PC, the bootloader resides on the master boot record (MBR) of the hard drive, and is
executed after the PC BIOS performs various system initializations.
The bootloader then passes system information to the kernel (for instance, the hard drive partition to
mount as root) and then executes the kernel.
In an embedded system, the role of the bootloader is more complicated, since an embedded system does
not have a BIOS to perform the initial system configuration.
The low-level initialization of the microprocessor, memory controllers, and other board-specific hardware
varies from board to board and CPU to CPU.
Assembly language-
• A human-writable form of a processor's native instruction set. In its typical form,
each line of assembly code represents a single CPU instruction. The human-
readable representation of each opcode is called a mnemonic.
Compiler
A software-development tool that translates high-level language programs into the
machine-language instructions that a particular processor can understand and execute.
Cross-compiler
• A compiler that runs on a different platform from the one for which it
produces object code. Often even the processor architecture/family of
the host and target platforms differ.
Firmware
• Executable software that is stored within a ROM.
• USAGE: This term is interchangeable with embedded software and
sometimes is used even when the executable is not stored in ROM.
Glue logic
• The address decoding and other messy circuitry (or programmable
logic) that ties together a system. It's called glue logic because it's
what holds the entire system together.
Debugger
• A tool used to test and debug software.
• A typical remote debugger runs on a host computer and connects to the target through a serial port or over
a network.
• Using the debugger, you can download software to the target for immediate execution. You can also set
breakpoints in the code and examine the contents of specific memory locations and registers.
Device driver
• A software module that hides the details of a particular peripheral and provides a high-level programming
interface to it.
• Each device driver is typically a piece of operating system-specific software that makes it possible for
application software to attach to, read and write data from, and change the behavior of the peripheral
device.
• The more complex the operating system environment, the more likely it is that the device driver code will
have to conform to a certain high-level API. For example, Windows and Unix both require every network
device driver to conform to a common API.
Executable
• A file containing object code that is ready for execution on the target. All that remains is to place the
object code into a ROM or download it via a debugging tool.
Linker
startup code
• A piece of assembly language code that prepares the way for software
written in a high_level_language.
• Most cross-compilers come with startup code that you can modify,
compile, and link with your embedded programs.
• Startup code usually initializes code and data segments, safes I/O, and
sets up chip selects and wait states.
target
• The embedded system under development.
Unified Modeling Language
• A standardized visual notation for communication about system
specifications and design details. Abbreviated UML.
user mode
• A state in which a processor will not execute some of its instructions.
For example, while in user mode, it might not be possible to disable
interrupts. Contrast with kernel mode.
watchdog timer
• A fail-safe mechanism that intervenes if a system stops functioning.
Abbreviated WDT. A hardware timer that is periodically reset by
software.
• If the software crashes or hangs, the watchdog timer will expire, and
the entire system will be reset automatically