Embedded Linux & BeagleY-AI: Cross-Compilation, Hardware, Networking, and Boot

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/375

encourage image

There's no tags or description

Looks like no tags are added yet.

376 Terms

1
New cards

Host

The development computer used to write and compile programs.

2
New cards

Target

The embedded device that runs the compiled application.

3
New cards

Native Compilation

Compiling a program for the same platform on which the compiler runs.

4
New cards

Cross-Compilation

Compiling on one platform to produce a program for a different target platform.

5
New cards

Cross-Compiler

A compiler that generates executable code for a different target architecture.

6
New cards

aarch64-linux-gnu-gcc

GCC cross-compiler used to build programs for 64-bit ARM Linux.

7
New cards

ABI (Application Binary Interface)

Rules governing data layout, function calls, return values, and binary compatibility.

8
New cards

ARM

A family of processor architectures commonly used in embedded systems.

9
New cards

BeagleY-AI

The ARM-based embedded Linux board used in the course.

10
New cards

GPIO (General Purpose Input/Output)

Pins used to read or produce digital HIGH and LOW signals.

11
New cards

I2C (Inter-Integrated Circuit)

A communication protocol used to communicate with integrated circuits such as accelerometers.

12
New cards

ADC (Analog-to-Digital Converter)

Hardware that converts an analog voltage into a digital number.

13
New cards

PWM (Pulse Width Modulation)

A digital signal whose duty cycle controls its average output level.

14
New cards

Duty Cycle

The percentage of one PWM period for which the signal is HIGH.

15
New cards

Virtual Machine (VM)

Software that allows a guest operating system to run on a host computer.

16
New cards

SSH (Secure Shell)

A protocol for securely accessing a remote computer's terminal.

17
New cards

Serial Communication

Communication that transmits data sequentially, one bit at a time.

18
New cards

RS-232

A serial communication standard using positive and negative signal voltages.

19
New cards

TTL-Level Serial

A serial interface using logic-level voltages such as 0 V and 3.3 V.

20
New cards

Baud Rate

The number of signaling symbols transmitted per second.

21
New cards

115200 8N1

Serial configuration with 115200 baud, 8 data bits, no parity, and 1 stop bit.

22
New cards

screen

A terminal program used to access a serial connection.

23
New cards

Ethernet over USB

A USB connection that creates a network interface between host and target.

24
New cards

DHCP (Dynamic Host Configuration Protocol)

A protocol for automatically assigning IP configuration to devices.

25
New cards

IP Address

A network address identifying an interface on an IP network.

26
New cards

ip addr

Linux command that displays network interfaces and IP addresses.

27
New cards

ping

Command that tests network reachability using ICMP echo requests.

28
New cards

ssh debian@192.168.7.2

Example command to open an SSH session to the target.

29
New cards

NFS (Network File System)

A protocol allowing a computer to access directories shared over a network.

30
New cards

mount

Command used to attach a filesystem to the Linux directory hierarchy.

31
New cards

sudo

Executes a command with elevated privileges when authorized.

32
New cards

chmod

Changes file permissions.

33
New cards

chown

Changes file ownership.

34
New cards

grep

Searches text for matching patterns.

35
New cards

dmesg

Displays messages from the Linux kernel.

36
New cards

Shell Pipe (|)

Passes one command's standard output to another command's standard input.

37
New cards

Output Redirection (>)

Writes command output to a file, normally overwriting existing contents.

38
New cards

U-Boot

A bootloader that initializes hardware and loads the Linux kernel.

39
New cards

Linux Kernel

The core of Linux responsible for scheduling, memory management, processes, and I/O.

40
New cards

Root File System (RFS)

The filesystem containing Linux user programs, libraries, and system files.

41
New cards

Boot Sequence

The startup order U-Boot, Linux kernel, then root filesystem and userspace.

42
New cards

BOOT Partition

A microSD partition containing boot-related files and configuration.

43
New cards

rootfs Partition

A microSD partition containing the Linux root filesystem.

44
New cards

bb-imager

Utility used to prepare a BeagleY-AI microSD card and initial configuration.

45
New cards

sysconf.txt

A file used to configure initial target settings during boot.

46
New cards

Work Directory

Private development folder containing source code and project files.

47
New cards

Public Directory

Folder containing files shared with the embedded target.

48
New cards

NFS Mount Point

The local directory where a network-shared filesystem becomes accessible.

49
New cards

Makefile

A file defining rules and commands for building software.

50
New cards

GNU Make

A build utility that executes rules defined in a Makefile.

51
New cards

Make Target

A named build goal or action defined in a Makefile.

52
New cards

make

Runs the default build target.

53
New cards

make clean

Runs the clean target, typically removing generated files.

54
New cards

make all

Runs the target named all, often used to build the full project.

55
New cards

CC_C

A Makefile variable commonly used to store the C compiler command in this course.

56
New cards

CFLAGS

A Makefile variable commonly used to store C compiler options.

57
New cards

-Wall

Enables a collection of compiler warnings.

58
New cards

-g

Includes debug symbols in a compiled executable.

59
New cards

-Werror

Treats compiler warnings as errors.

60
New cards

-std=c11

Requests the C11 language standard.

61
New cards

-D_POSIX_C_SOURCE=200809L

Requests interfaces associated with the specified POSIX feature-test version.

62
New cards

CMake

A cross-platform meta build system used to configure and generate build files.

63
New cards

Meta Build System

A tool that generates build-system files from higher-level project configuration.

64
New cards

CMakeLists.txt

The file describing a CMake project's build configuration.

65
New cards

cmake_minimum_required()

Specifies the minimum CMake version required by a project.

66
New cards

project()

Defines project information such as name, version, and language.

67
New cards

add_executable()

Defines an executable target and its source files in CMake.

68
New cards

add_compile_options()

Adds compiler options for applicable targets.

69
New cards

CMAKE_C_STANDARD

CMake setting specifying the requested C language standard.

70
New cards

cmake -S . -B build

Configures the current source directory and generates build files in build.

71
New cards

cmake --build build

Compiles and links a configured CMake project.

72
New cards

CMake Kit

Toolchain configuration used to choose compilers and build settings in VS Code.

73
New cards

HAL (Hardware Abstraction Layer)

A software layer that hides hardware-specific details behind an interface.

74
New cards

nano

A terminal-based text editor.

75
New cards

vi

A modal text editor with command and insert modes.

76
New cards

vi Insert Mode

The mode used to type and edit text.

77
New cards

vi Command Mode

The mode used for navigation, saving, deleting, and other editor commands.

78
New cards

vi :wq

Saves the file and quits vi.

79
New cards

vi :q!

Quits vi without saving changes.

80
New cards

vi dd

Deletes the current line.

81
New cards

Append Redirection (>>)

Adds command output to the end of a file.

82
New cards

cat

Displays file contents.

83
New cards

less

Displays text one screen at a time.

84
New cards

tail -20

Displays the last 20 lines of input.

85
New cards

K&R C

The early C language description associated with Kernighan and Ritchie.

86
New cards

ANSI C / C90

The first widely standardized version of C.

87
New cards

C99

C standard introducing features such as // comments and declarations in for loops.

88
New cards

C11

C standard adding features including threading-related support.

89
New cards

IDE (Integrated Development Environment)

Software combining code editing, building, and debugging tools.

90
New cards

Modular Design

Dividing a program into separate components with clear responsibilities.

91
New cards

Header File (.h)

A file commonly containing public declarations, types, and constants.

92
New cards

Source File (.c)

A file containing C function implementations and private module details.

93
New cards

Function Prototype

A declaration specifying a function's return type and parameters.

94
New cards

Header Guard

Preprocessor directives preventing repeated processing of a header.

95
New cards

Encapsulation

Hiding internal data and implementation behind a controlled public interface.

96
New cards

Variable Scope

The region of source code where a variable's name is visible.

97
New cards

Local Variable

A variable declared within a block and accessible only within its scope.

98
New cards

Global Variable

A variable declared at file scope, outside functions.

99
New cards

Static Local Variable

A block-scope variable that retains its value across function calls.

100
New cards

Static Global Variable

A file-scope variable whose name has internal linkage.