.NET Micro Framework Glossary

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]


  • ADS
    ARM Developer Suite, ARM's previous generation of software development tools, predating the current ARM RealView Development Suite.

  • API
    Application programming interface, or application program interface, consists of calling conventions defined at source-code level through which a program accesses operating system services.

  • ARM
    ARM Limited, a technology company headquartered in England, best known for its processor designs, which it licenses to numerous semiconductor manufacturers.

  • atomize
    To create references for data objects (for example, strings) such that all references to the same value point to the same object. Comparing references is then a shortcut to comparing the values for equality.


  • bootstrap
    A computer starts by first loading a simple loader program, which then loads a more complicated program such as an operating system. Often shortened to "booting."

  • Bye message
    A WS-Discovery message used to announce the departure of a device or service from the network.


  • CBC
    See cipher-block chaining.

  • cipher-block chaining (CBC)
    A cryptographic mode of operation which allows block ciphers to provide confidentiality for messages of an arbitrary length, using feedback to combine previously-generated ciphertext with new plaintext. Each plaintext block is combined with the ciphertext of the previous block by a bitwise XOR so that even if the plaintext contains many identical blocks, each will encrypt to a different ciphertext block. CBC provides confidentiality, but does not ensure message integrity as do some encryption modes that were developed later.

  • class library
    An object-oriented collection of reusable types you can use to develop embedded applications. Its classes are tightly integrated with the CLR and provide you with types you can employ to build functionality into your own managed code.

  • CLR
    See common language runtime.

  • CLS
    See common language specification.

  • common language runtime (CLR)
    The virtual machine that executes the intermediate language (IL) of compiled applications in the .NET Micro Framework.

  • common language specification (CLS)
    A subset of language features supported by the .NET CLR common to several object-oriented programming languages. CLS-compliant components and tools are guaranteed to interoperate with other CLS-compliant components and tools.

  • CRC
    See cyclic redundancy check.

  • cyclic redundancy check (CRC)
    A procedure used to detect errors in data transmission in a manner similar to a checksum, though it is mathematically more robust than a simple checksum.


  • Devices Profile for Web Services (DPWS)
    A Web services profile that enables plug-and-play for networked devices. DPWS is also sometimes called Web Services on Devices (WSD).

  • direct memory access
    Allows hardware subsystems to access system memory for reading or writing without dependence upon the central processing unit

  • DMA
    See direct memory access.

  • DPWS
    See Devices Profile for Web Services.


  • EEPROM (or E2PROM)
    Electrically-erasable programmable read-only memory (pronounced "E-E-prom" or "E-2-prom"). A form of persistent memory that can be erased and reprogrammed using a high voltage.

  • EOP
    See end of packet.

  • emulator
    In the .NET Micro Framework, emulator refers to the extensible hardware emulator.

  • end of packet (EOP)
    An indicator sometimes required before a subsequent process can begin.

  • EWR
    See extended weak reference.

  • extended weak reference (EWR)
    An extended weak reference stores an object in persistent memory so that it remains available across device restarts. Ordinary weak references are references to objects that may be discarded if memory becomes tight because they can be recreated when needed at some cost in time.

  • extensible emulator
    See emulator.


  • FIFO
    First in, first out.

  • firmware
    Software that is stored in persistent memory (ROM, EEPROM, flash, etc.). The name reflects the fact that it is neither strictly hardware nor strictly software, but something in between. Typically contains the code that bootstraps a device, and may contain code for all of a device's functionality.

  • flash
    A type of persistent memory based on EEPROM; widely used in portable devices to store firmware.

  • FlashLITE
    The former name of the development bootstrap loader, now called PortBooter.

  • footprint
    Describes the amount and location of memory used by software.


  • Get message
    A WS-Transfer message used to request metadata. DPWS clients may send Get messages.

  • GetResponse message
    A WS-Transfer message used to respond to a request for metadata. Any DPWS application that sends Get messages will receive GetResponse messages.

  • GPIO
    General-purpose input/output.


  • HAL
    See hardware abstraction layer.

  • hardware abstraction layer (HAL)
    A component of the .NET Micro Framework. An abstraction layer between the physical hardware of a computer and the software that runs on the computer. It hides differences in hardware from most of the operating system kernel, so that most of the kernel-mode code does not need to be changed to run on systems with different hardware.

  • hardware emulator
    See emulator.

  • headless
    A computer or device with no display or keyboard; interaction with the unit is intended to be over the network. Also refers to software that can be operated in a text-only mode on such a device.

  • heap
    A section of memory in which space for new objects is allocated.

  • Hello message
    A WS-Discovery message used to announce the presence of a device or service on the network.

  • HTTP
    See hypertext transfer protocol.

    See hypertext transfer protocol, encrypted/secured.

  • hypertext transfer protocol (HTTP)
    A request/response protocol used by Web servers and browsers.

  • hypertext transfer protocol, encrypted/secured (HTTPS)
    A secure, or encrypted, HTTP connection.


  • I2C
    Inter-Integrated Circuit, pronounced "I-squared-C". A bus and interconnect format invented by Philips and widely used to attach low-speed peripherals to embedded systems.

  • IETF
    See Internet Engineering Task Force

  • IHV
    See independent hardware vendor.

  • IL
    See intermediate language.

  • independent hardware vendor (IHV)
    A company specializing in manufacturing or selling computer hardware.

  • independent software vendor (ISV)
    A company that produces software or provides a service for computers or networks.

  • indirection
    The ability to reference data using a name, reference, or container instead of the value itself. The most common form of indirection is the act of manipulating a value through its memory address.

  • inheritance
    The ability to define new object classes from existing object classes. The new class has the same capabilities as the existing class, with potentially changed behavior and additional behavior.

  • interface
    In software, a set of related member functions and other values that define how a program can interact with a software component such as a class. In hardware, the standardized connector, electrical specification, and signals used to connect hardware together.

  • intermediate language (IL)
    In the context of the .NET Micro Framework, IL is the language to which managed applications are compiled. This IL is similar to the IL in .NET Framework. The common language runtime (CLR) is a virtual machine that executes IL code.

  • Internet Engineering Task Force (IETF)
    An open international community of network designers, operators, vendors, and researchers concerned with providing leadership in Internet related standards, education, and policy.

  • interrupt request (IRQ)
    A signal sent by a device to get the attention of the processor when the device is ready to accept or send information. Each device sends its interrupt requests over a specific hardware line. Each device must be assigned a unique IRQ number.

  • interrupt service routine (ISR)
    A routine that is executed in response to an interrupt request.

  • IP
    The protocol within Transmission Control Protocol/Internet Protocol (TCP/IP) that is used to send data between computers over the Internet. More specifically, this protocol governs the routing of data messages, which are transmitted in smaller components called packets.

  • IRQ
    See interrupt request.

  • ISR
    See interrupt service routine.

  • ISV
    See independent software vendor.


  • JIT
    See just-in-time.

  • JTAG
    See joint test action group.

  • joint test action group (JTAG)
    An IEEE standard used for testing and debugging printed circuit boards.

  • just-in-time
    In the context of .NET, the CLR converts a program in IL representation to its native machine-language representation just before executing it.


  • keep-alive
    An instruction that a connection that would ordinarily be closed should remain open (such as in HTTP), or a no-operation signal sent periodically to prevent a connection from timing out due to inactivity.


  • LCD
    See liquid crystal display.

  • LIFO
    Last in, first out.

  • liquid crystal display (LCD)
    A thin, flat display device consisting of light-reflecting elements of adjustable transparency arranged in a grid in front of a light source or reflector. LCDs are often used in battery-powered electronic devices because of their power-efficiency.

  • load
    To copy software or data into memory. In the case of software, usally a synonym for "install." For example, firmware may be loaded onto a device over a USB port.


  • managed code
    Code that executes under the management of a virtual machine such as the CLR for programmer convenience and enhanced security guarantees. This is in contrast to unmanaged code, which is executed directly by the computer's CPU.

  • memory management unit (MMU)
    A hardware component responsible for handling memory access, vital for memory protection and virtual memory.

  • Message Transmission Optimization Mechanism (MTOM)
    A W3C method of efficiently sending binary data to and from Web services.

  • method
    A routine associated with a class. If the routine is associated with the class as a whole, it is a static or class method. If the routine is associated with a particular object, it is an instance method.

  • MFDeploy
    A tool provided with the .NET Micro Framework that can load firmware and application image files onto a device.

  • MMU
    See memory management unit.

  • MSBuild
    A build tool that compiles code for Visual Studio.

  • MTOM
    See Message Transmission Optimization Mechanism.


  • NOR
    Not OR, a type of logic circuit. NOR flash memory is characterized by random-access addressability by byte.

  • nonvolatile memory
    Memory which stores its contents when power is removed, such as flash memory.


  • ODM
    See original device manufacturer.

  • OEM
    See original equipment manufacturer.

  • original device manufacturer (ODM)
    A company that produces hardware which other companies sell under their own brands.

  • original equipment manufacturer (OEM)
    A company that sells hardware produced by an ODM.


  • PAL
    See platform abstraction layer.

  • platform abstraction layer (PAL)
    A component of the .NET Micro Framework. Along with the HAL, PAL controls the underlying system hardware. Both the HAL and the PAL are groups of C++ functions called by the CLR. The PAL functions are independent of the hardware and are not ported, however, you must write your own version of the HAL for your hardware platform.

  • porting kit
    The .NET Micro Framework Porting Kit is a package that device makers can use to enable the .NET Micro Framework to support their hardware platforms, processors, and peripheral devices.

  • Probe message
    A WS-Discovery message used by a client to search for services on the network by service type.

  • ProbeMatches message
    A WS-Discovery message sent by a service in response to a client's Probe message.


  • RCL
    See runtime component layer.

  • ResolveMatches message
    A WS-Discovery message sent in response to a client's Resolve message by a matching service.

  • Resolve message
    A WS-Discovery message used by a client to search for services on the network by name.

  • RSA
    A standard public-key encryption algorithm often used for digitally signing messages and data. The letters R, S, and A, do not stand for the technology, but instead are the initials of the creators of the algorithm. (See also XTEA.)

  • runtime
    Often refers to the common language runtime (CLR). Also frequently used to indicate that code is executing ("at run time" or "run-time encryption") as opposed to being compiled.

  • runtime component layer (RCL)
    A .NET Micro Framework architecture layer consisting of the HAL, PAL, CLR, and bootstrap code.

  • RX/TX


    Synchronous dynamic random access memory, a type of solid-state computer memory synchronized with the computer's bus.

  • Serial Peripheral Interface (SPI)
    A full-duplex master-slave synchronous serial bus, pronounced "S-P-I" or "spy". Named by Motorola, SPI is sometimes referred to as a "four wire" serial bus, in contrast to busses with less than four.

  • Simple Object Access Protocol (SOAP)
    A W3C protocol for sending serialized objects and for exchanging XML-based Web services messages over computer networks using HTTP/HTTPS.

  • Smart Personal Object Technology (SPOT)
    The Microsoft Corporation initiative from which the .NET Micro Framework emerged.

  • SOAP
    See Simple Object Access Protocol.

  • socket
    A protocol-independent abstraction of a network endpoint in the Berkeley sockets API, which is widely used for network programming.

  • SPI
    See Serial Peripheral Interface.

  • SPOT
    See Smart Personal Object Technology.

  • SRAM
    Static random access memory, a type of volatile memory that does not need to be refreshed periodically.

  • SREC
    S-records, an ASCII file format for transferring binary data developed by Motorola and widely used by embedded systems.

  • stack
    A last in, first out (LIFO) data structure in which the last item stored ("pushed") will be the first item retrieved ("popped"). A stack is used in some programming languages for storing function return addresses and local variables.

  • stub
    A routine or function that contains no code and thus performs no operation. Provides a place to define the behavior of the function layer.


  • thread-safe code
    Code that functions correctly during simultaneous execution by multiple threads, even when those threads are trying to access the same data or other resources at the same time.


  • UART
    See universal asynchonous receiver/transmitter.

  • UDP
    See user datagram protocol.

  • universal asynchonous receiver/transmitter (UART)
    An asynchronous serial communications interface circuit. (USART adds synchronous serial capability.) Typically connected using RS-232 connectors and cable.

  • universal synchronous/asynchronous receiver/transmitter (USART)
    A serial communications interface circuit that can be run in either synchronous or asynchronous mode.

    See universal synchronous/asynchronous receiver/transmitter.

  • user datagram protocol (UDP)
    A connectionless transport protocol in the TCP/IP protocol suite that is used in cases where some packet loss is acceptable, such as with digital media streams.


  • vertical integration
    A situation in which all components of a solution are supplied by a single company as a way of ensuring interoperability. For example, an industrial automation system may have a sensor network, control units, and a back-end server all developed by a single company.


  • Web Services Dynamic Discovery (WS-Discovery)
    A technical specification that defines a multicast discovery protocol to locate services on a local network. Communication between nodes primarily uses SOAP.

  • Web Services Eventing (WS-Eventing)
    Defines a protocol for Web services for subscribing to, or accepting a subscription from, another Web service.

  • Web Services on Devices (WSD)
    A Web services profile that enables plug-and-play for networked devices. Often called Devices Profile for Web Services (DPWS).

  • Windows Presentation Foundation (WPF)
    A GUI framework used by the .NET Micro Framework 3.0 and later, Windows Vista, and Microsoft Silverlight. The .NET Micro Framework's GUI classes are loosely based on WPF.

  • WPF
    See Windows Presentation Foundation.

  • WSD
    See Web Services on Devices and DPWS.

  • WS-Discovery
    See Web Services Dynamic Discovery.

  • WS-Eventing
    See Web Services Eventing


  • XTEA
    An extended version of the Tiny Encryption Algorithm (TEA), XTEA performs simple symmetric encryption and decryption of data in a cipher-block chaining (CBC) mode with ciphertext stealing. (See also RSA.)