This is a glossary of terms used in embedded Linux, and links to existing glossary pages:
Here are pages that have list of terms for specific technology areas:
- Boot-up Time Definition Of Terms - terms related to the Linux boot-up process
- Power Management Definition Of Terms - Definition of Terms for the CELF Power Management working group
- Real Time Terms - terms related to systems with real-time performance
- Security Terms - terms related to Linux security and security frameworks
- Abatron is a Swiss company that makes a popular Jtag debugger often used to debug embedded Linux. Their primary products are the 'BDIx000' line of Jtag debuggers.
- A board is used to refer to the hardware open which ones develops embedded Linux. Historically, it refers to the printed circuit board that actually holds the hardware for the device. Often, this is a development board, or evaluation board, as opposed to an actual product device in final shipping form.
- Board Support Package. This is the code that is used to support a particular hardware board. The term is used generically to refer to code, and not a specific "package", as the name implies. It generally refers to all special-case software relevant to a particular board, whether it is kernel code, user code, etc.
- Embedded Linux Conference. This is one of the major technical conferences each year for developers of embedded Linux. See the Events page for references to past events.
- An "Embedded" device usually means one with fixed functionality, independent of other additional hardware or software attributes. The terms is somewhat vague. This is as opposed to general-purpose functionality. Note that mobile phones are considered embedded, although they now support general-purpose programs and functionality. Classic embedded Linux products include things like digital cameras, routers, television sets, and settop boxes, as well as non-consumer embedded devices like sensors, industrial control devices, and pretty much anything running Linux outside of the desktop and server markets. See the wikipedia entry for Embedded system
- The host, or 'host machine' is the place where the software developer actually writes and compiles the software for their product. In a host-target environment, the host is used to develop software, and the target is the device which will run the software.
- IP block
- An IP block is a section of an integrated circuit which performs a distinct function on the chip. The IP stands for "Intellectual Property". IP blocks are developed or licensed, and integrated onto an SOC or some other chip in the system. The block is licensed and manipulated as a unit, with the actual definition of the circuity expressed in some hardware description language like Verilog. Because the same IP block may be used in multiple chips (and often in chips even from different companies), a driver written for the IP block on one system may also work (with small modifications) on the same IP block on another system. Common IP blocks on current processors are video controllers, UARTs (serial ports), bus controllers, and network circuitry (both wired and wireless), to name just a few.
- Short for "Joint Test Action Group", JTAG refers to a debugging interface used to validate hardware and debug software on an embedded board. See JTAG
- The Linux kernel is the core software in a Linux system that interfaces with the hardware, manages resources on behalf of processes, and mediates interactions between processes and the hardware, and between processes themselves.
- Short for Physical Layer, PHY usually refers to the hardware circuitry which implements networking on a chip or board. Sometimes the PHY is a separate chip on the board. Often it refers to the circuitry on an SOC for a particular network device or interface. See http://en.wikipedia.org/wiki/PHY_(chip)
- System On Chip. This is a chip which has a (more-or-less) complete system on a single integrated circuit. It will likely have lots of IP blocks, which implement different hardware functionalities, such as serial ports, network interfaces, buses, and video controllers, in addition to the main CPU for the system. It is pronounced as either "ess-oh-see" or like "sock".
- Target refers to the device or environment for which software is being developed. This can be a development board, an actual product, or an emulator. Often, software is developed on a 'host' and then transferred to a target device for testing, debugging and deployment.
- A toolchain is the set of programs used to build the software for an embedded device. Specifically, it refers to the compiler and linker. But it may also refer to other programs (such as debuggers, profilers, and other tools for working with the target software) that are specific to a particular process architecture or CPU.