Glossary of Embedded Systems Terminology
As a handy reference, we've included our glossary of Embedded terminology.
- accumulator
-
Also known as A or AC, or by other names. The register which holds the results of ALU operations.
- a/d
-
Analog to digital.
- addressing mode
-
The math used to determine a memory location by the CPU, and the notation used to express it.
- ALU
-
Arithmetic Logic Unit. Performs basic mathematical manipulations such as add, subtract, complement, negate, AND, OR.
- AND
-
Logical operation where the result is 1 if ANDed terms both have the value 1.
- ANSI C
-
American National Standards Institute standards for C language.
- assembly language
-
Mnemonic (abbreviation) form of a specific machine language.
- bank
-
A logical unit of memory as determined by addressing modes and their restrictions.
- bit field
-
A group of bits considered as a unit. A bit field may cross byte boundaries if supported by the compiler.
- block
-
Any section of C code enclosed by braces, { and }. A block is syntactically equivalent to a single instruction, but creates a new variable scope.
- breakpoint
-
A location to stop executing program code, enforced by internal or external hardware. Breakpoints are used in debugging programs.
- CAN
-
Controller Area Network, developed by Bosch and Intel. It is an inter-module bus that links controlled devices.
- cast
-
Also coerce. Convert a variable from one type to another.
- checksum
-
A value which is the result of adding specific binary values. A checksum is often used to verify the integrity of a sequence of binary numbers.
- computer operating properly (COP)
-
A peripheral or function that resets microcontroller function under questionable execution conditions.
COP, as a word, is the name of the COP8™ microcontroller product line from National Semiconductor.
- cross assembler
-
An assembler that runs on one type of computer and assembles the source code for a different target computer. For example, an assembler that runs on an Intel x86 machine and generates object code for Motorola's 68HC05.
- cross compiler
-
A compiler that runs on one type of computer and compiles source code for a different target computer. For example, a compiler that runs on an Intel x86 and generates object code for Motorola's 68HC05.
- debugger
-
A program which helps with system debugging where program errors are found and repaired. Debuggers support such features as breakpoints, dumping, memory modify.
- declaration
-
A specification of the type, name and possibly the value of a variable.
- definition
-
The specification of the body of a function. Compare with declaration.
- dereference
-
Also * or Indirection. Access the value pointed to by a pointer.
- EEPROM
-
Electrically erasable programmable read only memory.
- embedded
-
Fixed within a surrounding system or unit. Also, engineered or intended to perform one specific function in a specific environment.
- endian-ness
-
The distinction of multi-byte data storage convention. Little-endian store the least-significant byte first in memory. Big-endian stores the most-significant byte first in memory.
- global variable
-
Variable that can be read or modified by any part of a program.
- hysteresis
-
The delay between the switching action of a control and the effect. Can be enforced to prevent rapid short-term reversals in the control's state.
- index register
-
Also known as X, IX or by other names. The register used to hold a value that becomes a factor in an indexed addressing mode.
Frequently used for arithmetic operations, though without as many capabilities as an accumulator.
- interrupt
-
A signal sent to the CPU to request service. Essentially a subroutine outside the normal flow of execution, but with many extra considerations.
- J1850
-
An inter-module bus endorsed by the SAE (Society of Automotive Engineers).
- local variable
-
Variable that can only be used by a specific module or routine in a program.
- logical operator
-
Operators which perform logical operations on their operands. For example, !, &&, ||.
- machine language
-
Binary code instructions which can be "understood" by a specific CPU. More pedantically, binary numbers which, when represented as voltage signals within a microcontroller, drive the internal circuitry to perform further state changes. Compare with assembly language.
- mask
-
A group of bits designed to set or clear specific positions in another group of bits when used with a logical operator.
- maskable interrupt
-
Interrupts which software can activate and deactivate.
- memory-mapped
-
A virtual address or device is associated with an actual address in memory. CPU registers are often not memory-mapped.
- NOP
-
No operation. An instruction which is used to create a short delay.
- NOT
-
Logical negation. A 0 becomes a 1 and a 1 becomes a 0.
- object code
-
Machine language instructions represented by binary numbers not in executable form. Object files are linked together to produce executable files.
- operator
-
A symbol which represents an operation to be performed on operands. For example, +, *, /.
- OR
-
A Boolean operation which yields 1 if any of its operands is a 1.
- paging
-
A page is a logical block of memory. A paged memory system uses a page address and a displacement address to refer to a specific memory location.
- port
-
A physical I/O connection.
- program counter
-
Also PC. A CPU register which holds the address of the next instruction to be executed. The program counter is incremented after each byte of each instruction is fetched.
- programmer's model
-
The description of registers that make up the microprocessor's "visible" interface. Includes the registers such as the accumulator and index register, program counter, and stack pointer.
- PROM
-
Programmable read-only memory. ROM that can be programmed.
- real time
-
A system which reacts at a speed commensurate with the time an actual event occurs.
- register
-
A byte or word of storage which exists within the CPU proper. Registers directly interface to the ALU and other microprocessor functionality.
- reset
-
To return the microcontroller to a known state. This operation may or may not alter processor registers, memory or peripheral states.
- ROM
-
Read Only Memory.
- ROMable
-
Code which will execute when placed in ROM memory.
- RS-232
-
A standard serial communication port.
- SCI
-
SCI is an asynchronous serial interface also known as UART (Universal Asynchronous Receiver Transmitter). The timing of this signal is compatible with the RS-232 serial standard but the electrical specification is board-level only.
- SPI
-
Serial Peripheral Interface bus. A board-level serial peripheral bus. Followed on by QSPI.
- scope
-
A variable's scope is the areas of a program in which it can be accessed, according to the rules of the programming language.
- shift
-
Also rotate, with subtle differences between them. Move the contents of a register bitwise to the left or right.
- side-effect
-
An indirect change to a variable, or, the work of instructions within a function not directly related to the calculation of its return value.
- simulator
-
A program which recreates the same input and output behaviour as a hardware device.
- stack
-
A section of RAM which is used to store temporary data. A stack is a last-in-first-out (LIFO) structure.
- stack pointer
-
A register which contains the address of the top of the stack. The register may or may not be visible to the programmers' model.
- static
-
A variable that is stored in a reserved area of RAM instead of in the stack. The area reserved cannot be used by other variables.
- timer
-
A peripheral that counts transitions in a signal, independently of program execution.
- UART
-
Universal asynchronous receiver/transmitter. A serial-to-parallel and parallel-to-serial converter.
- volatile
-
The quality of a value that changes unexpectedly. The compiler cannot trust that the value of a volatile variable remains constant over time, and therefore cannot perform certain optimizations. Declared explicitly by the programmer, or determined by the compiler.
- watchdog [timer]
-
Another name for computer operating properly circuitry.

July 2008: