object code

n. A set of processor-readable opcodes and data. The output of compilers and assemblers and the input and output of a linker are files containing object code. However, there are a variety of standardized and proprietary object file formats, meaning that development tools from one vendor can only rarely read the object code produced by those of another.

object file

n. A file containing object code; in particular, the output of a compiler or assembler. Most object files begin with a symbol table, which is followed by intermixed segments of code and data.

on-chip debug

n. A technology-agnostic name for the variety of techniques (like BDM) that include software debug capability within the processor hardware. Sometimes abbreviated OCD. The connection to the host-based debugger is generally over a standard JTAG port or a proprietary header. [more]

See also background debug mode, OnCE, MPSD, Nexus.

one-time programmable

adj. Describes any programmable device, like a PROM or a PLD, that can be programmed just once by the end user. Abbreviated OTP. [more]

USAGE: The term OTP is used most commonly to describe a microcontroller with an on-chip PROM.

HISTORY: In the olden days several vendors sold EPROMs without windows. These could be programmed but not erased. Removing the windows meant the parts could be packaged in plastic instead of ceramic, greatly reducing their price.


n. A binary value that is recognized by a processor as one of the instructions in its instruction set.

open source

adj. A vague term describing any software that comes with source code, no matter how its use is or is not restricted.

Unfortunately, there is no clear definition for "open source software" and no standard license. Many companies are using the term open source these days, but in far different ways. Although the idea is similar to that of free software (you can generally still use, modify, and redistribute the software), there is far less emphasis on the right of the source code to be free.

Although not as true with respect to Linux, many open source companies seem to be unwilling to give up central control of their software. (Free software, on the other hand, has no owner.)

What's important about open source software, particularly for embedded systems developers, is that its licensing terms are more like LGPL than GPL. In other words, you are typically free to add your own proprietary software to the open source code and produce a proprietary result. The free software movement doesn't much like this but is otherwise more in alignment with the newer open source movement than in opposition to it. [more]

Contrast with free software, proprietary software.

operating system

n. A piece of software that makes multitasking possible. An operating system typically consists of a set of system calls and a periodic clock tick ISR. The operating system is responsible for deciding which process or thread should be using the processor at any given time and for controlling access to shared resources.

See also real-time operating system, multitasking.


n. A hardware debugging tool that allows you to view the voltage on one or more electrical signals. A "scope" for short. An embedded software developer might use an oscilloscope to determine whether a particular interrupt is currently asserted or to confirm the duty cycle of a PWM output.

See also analog oscilloscope, digital storage oscilloscope.

Agilent oscilloscope

A two-channel digital oscilloscope from Agilent


(as letters) abbr. See one-time programmable.