1/52
Vocabulary practice flashcards covering Embedded Linux fundamentals, system architecture, hardware interfaces, Raspberry Pi and BeagleBone board layouts, filesystem structures, and shell command tools.
Linux-Based Embedded Application
Software running on a Linux-enabled embedded platform that communicates with physical hardware through Linux's kernel, drivers, and hardware interfaces to perform a dedicated product function.
Embedded System
A dedicated computing system designed to serve one specific product function, sense or control the physical world, and run unattended starting from power-on.
Application Layer
The top architectural software layer that contains the specific product logic (such as a logger, control loop, or dashboard) to decide what the device reads, calculates, and executes.
Libraries and APIs Layer
The software layer (such as libgpiod or I2C, SPI, and serial libraries) that translates high-level application requests like reading a temperature into system calls understood by Linux.
Linux Kernel
The central core of the operating system that verifies permissions, schedules processes, manages memory, and routes requests to the appropriate device driver subsystems.
Device Drivers
Kernel software components that directly interact with physical controllers and peripheral hardware by managing registers, timing, and communication protocols.
GPIO (General Purpose Input/Output)
A digital interface using 1 pin per signal to perform digital on/off operations as either an input or an output for peripherals like buttons, LEDs, and relays.
PWM (Pulse Width Modulation)
A digital interface that uses 1 pin emitting timed pulses to vary power or mechanical position by adjusting pulse width, used for motors, servos, and dimmers.
ADC (Analog-to-Digital Converter)
An interface that takes an analog voltage signal through an input pin and converts it into a digital numerical value for processing by the processor.
UART (Universal Asynchronous Receiver-Transmitter)
A serial bus interface using 2 wires to transmit serial bytes point-to-point between two devices, such as a main board and a GPS module.
I2C (Inter-Integrated Circuit)
A serial bus interface using 2 wires that allows a single board to communicate with multiple slave devices and sensor chips.
SPI (Serial Peripheral Interface)
A synchronous serial bus interface using 4 wires that provides the highest data transfer speeds for communication with peripherals like displays.

Raspberry Pi 4 Model B Hardware Layout
A single-board computer featuring a Broadcom SoC with four 64-bit Arm cores (1), 1 to 8 GB RAM (2), microSD card storage (3), a 40-pin GPIO header at 3.3V without an ADC (4), four USB ports (5), on-board Ethernet/Wi-Fi/Bluetooth (6), and HDMI/DSI/CSI display and camera connectors (7).

BeagleBone Black Hardware Layout
An I/O-focused single-board computer featuring a TI AM335x SoC with a 1GHz Arm Cortex-A8 (1), 512MB RAM (2), on-board eMMC flash and microSD storage (3), dual 46-pin headers P8 and P9 supporting up to 65 GPIOs (4), 7 built-in ADC channels on P9 with a 1.8V maximum (5), two PRU real-time cores (6), and Ethernet plus USB host/device ports (7).
HAT (Hardware Attached on Top)
An add-on expansion board specification that plugs directly onto the 40-pin GPIO header of a Raspberry Pi.
Cape
An add-on expansion board designed to plug onto the P8 and P9 headers of a BeagleBone board.
PRU (Programmable Real-Time Unit)
Two dedicated 32-bit real-time microcontroller cores integrated inside the BeagleBone's TI AM335x SoC used to handle microsecond-level timing and tight control loops independent of Linux scheduling.
IIO (Industrial I/O)
A Linux kernel subsystem and driver framework designed to handle analog-to-digital converters, digital-to-analog converters, and industrial sensor data like vibration and current.
MMU (Memory Management Unit)
A specialized hardware chip feature required to run full Linux by managing virtual memory, present on application processors like Broadcom and TI AM335x, but absent in simple microcontrollers like plain Arduinos.
Embedded Linux
A configuration consisting of the Linux kernel plus stripped-down, tailored software components running on hardware built to perform one dedicated job well.
Bootloader
The very first software program that executes on power-on to wake up the board's hardware and load the operating system kernel into RAM.
Device Tree
A configuration data file that lists and describes the exact hardware layout, registers, and pin assignments of a specific board to the kernel during boot, functioning like a hardware floor plan.
Root Filesystem
The top-level hierarchy of files containing programs, libraries, settings, and services required for the Linux operating system to function.

Embedded Linux Boot Sequence
The five-stage startup process consisting of: 1. Power on (board turns on), 2. Bootloader runs (starts the kernel), 3. Kernel starts (loads the right drivers), 4. Files become ready (the filesystem is mounted), and 5. Your program starts (the device performs its job).
User Space
The unprivileged execution environment where applications, libraries, and the shell run, barred from accessing hardware directly and required to make system calls to request actions.
Kernel Space
The privileged execution environment where the operating system kernel and device drivers execute with exclusive, direct access to the physical hardware.
Root Directory (/)
The single base of the Linux filesystem hierarchy from which all directories, devices, storage media, and mounted partitions branch off.
/dev
A virtual directory containing special device node files that represent attached hardware, allowing software to communicate with hardware components using standard file operations.
/proc
A virtual pseudo-filesystem generated on the spot by the kernel that exposes live operational statistics, process statuses, and system information as text files.
/sys
A virtual filesystem exposing kernel device models that allows user-space programs to view and alter hardware properties (such as toggling an LED via brightness files).
/boot
The filesystem directory containing the kernel binaries, Device Tree blobs, and startup configuration files necessary to boot the board.
/etc
The filesystem directory designated for storing system-wide configuration files in plain text format.
/home
The filesystem folder holding personal files and settings belonging to non-root users of the system.
Terminal
The visual window or text interface on a display where a user enters and reads command-line instructions.
Shell
The command interpreter program (such as Bash) that parses text commands typed into a terminal and passes them to the operating system for execution.
pwd
A command that prints the current working directory path to show where the user is currently located in the filesystem.
ls
A shell command used to list the files and subfolders located inside the current or specified directory.
cd
A shell command used to change the current working directory to a specified target folder.
mkdir
A shell command used to create a new folder or directory in the filesystem.
cp
A shell command used to make a duplicate copy of a specified file or directory.
mv
A shell command used to move a file or folder from one location to another, or to rename it.
rm
A shell command that permanently deletes a file without sending it to a recycle bin.
cat
A utility command that prints the entire text contents of a file to the terminal output all at once.
less
A terminal pager command that allows interactive scrolling forward and backward through long files, exited by pressing 'q'.
head
A command-line tool that outputs only the first few lines of a file (e.g., -n 5 for the first five lines).
tail
A command-line tool that outputs only the last few lines of a file (e.g., -n 5 for the last five lines).
grep
A command-line text search utility used to find and filter lines containing a specific text pattern inside files.
find
A filesystem search utility used to locate files and folders based on criteria such as name, path, or type.
sudo
A command that temporarily runs a program with administrative (superuser) root privileges to perform protected configuration or system tasks.
ps
A system monitoring command that provides a static snapshot of the programs and processes currently running on the device.
top
An interactive command-line tool that displays a continuously updated, real-time list of running processes, CPU load, and memory usage.
df
A filesystem utility that displays available and used disk storage space across all mounted filesystems.
uname
A command used to print core system information, such as the operating system name, kernel release, and processor architecture.