Master the hidden layer of embedded systems engineering — GNU ld Linker Scripts.
This video explains how firmware, kernels, and bare-metal applications are actually mapped into memory using GNU linker scripts. Learn how sections like `.text`, `.data`, and `.bss` are organized, how Flash and RAM are controlled, and how startup code initializes an embedded system before `main()` executes.
Topics Covered:
• Compilation vs Linking
• ELF File Structure
• MEMORY and SECTIONS commands
• VMA vs LMA
• Symbol Resolution and Relocation
• Startup Code and Reset Handlers
• Cortex-M Memory Layout
• Bootloaders and Vector Tables
• KEEP(), ALIGN(), PROVIDE()
• Linker Debugging and Memory Overflows
• Embedded Firmware Optimization
Perfect for:
Embedded Engineers, Firmware Developers, FPGA/VLSI Engineers, OS Developers, RISC-V Enthusiasts, and Low-Level Systems Programmers.
Source Reference:
GNU LD Linker Script Concepts
https://users.informatik.haw-hamburg.de/~krabat/FH-Labor/gnupro/5_GNUPro_Utilities/c_Using_LD/ldLinker_scripts.html#Concepts
#EmbeddedSystems #Firmware #LinkerScripts #GNU #BareMetal #RISCV #ARM #RTOS #ELF #MemoryMapping #SystemsProgramming #VLSI #FPGA #LinuxKernel #LowLevelProgramming