Glossary

A

  • 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 (LSE: ARM, NASDAQ: ARMHY), 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 (e.g. 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.

B

  • bootstrap
    To start a computer "by its bootstraps," loading first a simple program and then a more complicated one such as an operating system. Often shortened to "booting."
  • Bye message
    A Bye message is a WS-Discovery message used to announce the departure of a device or service from the network.

C

  • 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 later encryption modes.
  • 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
    Common language runtime is the virtual machine that executes the intermediate language (IL) of compiled applications in the .NET Micro Framework.
  • CLS
    Common language specification is 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.
  • command table compiler
    See CTC.
  • common language runtime
    See CLR.
  • common language specification
    See CLS.
  • CPU
    Central processing unit is the computational and control unit of a computer that interprets and executes instructions.
  • CRC
    Cyclic redundancy check is 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.
  • CTC
    Command table compiler is a tool that converts text descriptions of the menus and commands of a VSPackage into a binary resource.
  • cyclic redundancy check
    See CRC.

D

  • DMA
    Direct memory access allows hardware subsystems to access system memory for reading or writing without dependence upon the central processing unit.
  • DPWS
    Devices Profile for Web Services is a Web Services profile that enables plug-and-play for networked devices. DPWS is also sometimes called Web Services on Devices (WSD).

E

  • EBIU
    External bus interface unit
  • 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
    End of packet is an indicator sometimes required before a subsequent process can begin.
  • EWR
    Extended weak references store the 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.
  • Extended weak reference
    See EWR.
  • extensible emulator
    See emulator.
  • emulator
    In the context of this product's documentation, "emulator" refers to the .NET Micro Framework extensible hardware emulator.

F

  • FIFO
    First in, first out; often used to describe a queue or buffer.
  • 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
    FlashLITE is the former name of the development bootstrap loader, now called PortBooter.
  • footprint
    Describes the amount and location of memory used by software.

G

  • Get message
    A Get message is a WS-Transfer message used to request metadata. DPWS clients may send Get messages.
  • GetResponse message
    A GetResponse message is 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, a set of single-bit I/O pins that can be used for input or output.

H

  • HAL
    Hardware abstraction layer, a component of the .NET Micro Framework. .
  • 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 unused memory in which space for new objects is allocated.
  • Hello message
    A Hello message is a WS-Discovery message used to announce the presence of a device or service on the network.
  • HTTP
    Hypertext transfer protocol, a request/response protocol used by Web servers and browsers.
  • HTTPS
    A secure, or encrypted, HTTP connection (see HTTP).

I

  • I2C
    Inter-Integrated Circuit, pronounced "I-squared-C". Invented by Philips and widely used to attach low-speed peripherals to embedded systems.
  • IETF
    Internet Engineering Task Force. For more information, see www.ietf.org.
  • IHV
    Independent Hardware Vendor, a company specializing in manufacturing or selling computer hardware.
  • IL
    Intermediate language. In the context of the .NET Micro Framework, IL is the language to which managed applications are compiled. The common language runtime (CLR) is a virtual machine that executes IL code.
  • 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.
  • inline
    Indicates that a compiler may insert the body of a particular function wherever the function is called in order to save the overhead of calling the function. Platforms may be configured to allow or disallow inlining.
  • 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 standarized connector, electrical specification, and signals used to connect hardware together.
  • IP
    Internet Protocol is 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
    An interrupt request is 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.
  • ISR
    An interrupt service routine is executed in response to an interrupt request.
  • ISV
    Independent software vendor is a company that produces software or provides a service for computers or networks.

J

  • JIT
    Just-in-time refers, in the context of .NET, to a CLR that converts a program in IL representation to its native machine-language representation just before executing it.
  • JTAG
    Joint test action group, the name of an IEEE standard used for testing and debugging printed circuit boards.

K

  • 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.

L

  • LCD
    Liquid crystal display is 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, uusally a synonym for "install." For example, firmware may be loaded onto a device over a USB port.

M

  • 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.
  • method
    A routine associated with a class (called static or class methods) or with an object (called instance methods).
  • MFDeploy
    A tool provided with the .NET Micro Framework that can load firmware and application image files onto a device.
  • MMU
    Memory management unit is a hardware component responsible for handling memory access, vital for memory protection and virtual memory.
  • msbuild
    A tool that compiles code, a build platform for Visual Studio.
  • MTOM
    Message transmission optimization mechanism, a method of efficiently sending binary data to and from web services.

N

  • NAND
    “Not AND," a type of logic circuit. NAND flash memory is characterized by a requirement for block addressing.
  • NOR
    “Not OR,” a type of logic circuit. NOR flash memory is characterized by random-access addressability by byte.
  • nonvolatile
    Refers to memory which stores its contents when power is removed, such as flash memory.

O

  • ODM
    Original device manufacturer is a company that produces hardware which other companies sell under their own brands.
  • OEM
    Original equipment manufacturer is a company that sells hardware produced by an ODM.

P

  • PAL
    Platform abstraction layer is a component of the .NET Micro Framework.
  • PortBooter
    The development bootloader for the .NET Micro Framework, formerly known as FlashLITE.
  • 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).
  • primitive
    In the context of the .NET Micro Framework, a HAL or PAL driver function.
  • Probe message
    A Probe message is a WS-Discovery message used by a client to search for services on the network by service type.
  • ProbeMatches message
    A ProbeMatches message is a WS-Discovery message sent by a service in response to a client's Probe message.
  • ProfileDump
    ProfileDump is a simple test bootloader that allows you to begin testing your port of the .NET Micro Framework on your device.

Q

R

  • RCL
    The runtime component layer, consisting of the HAL, PAL, CLR, and bootstrap code.
  • Resolve message
    A Resolve message is a WS-Discovery message used by a client to search for services on the network by name.
  • ResolveMatches message
    A ResolveMatches message is a WS-Discovery message sent in response to a client's Resolve message by a matching service.
  • RX/TX
    Receive/transmit.
  • runtime
    Often refers to the common language runtime (CLR). Alternately, is frequently used to indicate that code is executing ("at run time" or "run-time encryption") as opposed to being compiled.
  • RSA
    A standard public-key encryption algorithm often used for digitally signing messages and data. (See also XTEA.)

S

  • scatter file
    The ARM development tools use scatter files to describe load regions, each of which might contain one or more execution regions. The scatter files that are fed to the linker can be found in the build directories and are automatically produced by a proprietary tool called ScatterFileProcessor.exe.
  • SCL
    Serial clock line is a component of I2C Bus.
  • SDA
    Serial data line is a component of I2C Bus.
  • SDRAM
    Synchronous dynamic random access memory, a type of solid state computer memory synchronized with the computer's bus.
  • SOAP
    Simple object access protocol exchanges XML-based Web services messages over computer networks using HTTP/HTTPS.
  • socket
    A protocol-independent abstraction of a network endpoint in the Berkeley sockets API, which is widely used for network programming.
  • SPI
    Serial peripheral interface, a full-duplex master-slave synchronous serial bus named by Motorola (pronounced "S-P-I" or "spy"). Sometimes SPI is referred to as a "four wire" serial bus, contrasting with three, two, and one wire serial busses.
  • SPOT
    Smart Personal Object Technology, the Microsoft initiative from which the .NET Micro Framework emerged.
  • 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 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.

T

  • thread-safe
    Said of 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.
  • TinyBooter
    The .NET Micro Framework production bootloader that includes the capability of rejecting firmware or application code that has not been signed with the appropriate RSA key pair.
  • TinyCLR
    The .NET Micro Framework common language runtime (CLR) module. Rather than a cut-down version of an existing CLR, TinyCLR was implemented from scratch to ECMA standards for small devices.

U

  • UART
    Universal asynchonous receiver/transmitter, an asynchronous serial communications interface circuit. (USART adds synchronous serial capability.)
  • USART
    Universal synchronous asynchronous receiver/transmitter, a serial communications interface circuit that can be run in either synchronous or asynchronous mode.
  • UDP
    User Datagram Protocol, 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.
  • URI
    Uniform resource identifier, used for identifying a resource in the HTTP protocol. A URI can be either a URL or a URN.
  • URL
    Uniform resource locator, used for specifying the location of a resource in the HTTP protocol. All URLs are also URIs.
  • URN
    Uniform resource name, used for specifying the name of a resource in the HTTP protocol. All URNs are also URIs.

V

  • 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.

W

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

X

  • 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.)

Y

Z