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.