Elective Embedded Systems Programming
Embedded Systems Programming notes
7 chapter notes, in syllabus order. Each starts with the key points.
Unit 1 · 4 hrs
ARM Embedded Systems: Architecture & ApplicationsUnit 1 of Embedded Systems Programming introduces ARM architecture, its role in embedded systems, key components (CPU, memory hierarchy, peripherals), and real-world applications in Nepal and globally.8 min readUnit 2 · 4 hrs
ARM Processor: Core Architecture, Registers, Memory Map & Bus InterfacesUnit 2 of Embedded Systems Programming covers the foundational building blocks of ARM processors: its core architecture (Harvard vs. von Neumann), register set (general-purpose, special-purpose, and status registers), memory hierarchy (SRAM, Flash, peripherals), and bus interfaces (AMBA AHB/APB). Students learn how dat9 min readUnit 3 · 8 hrs
ARM Instruction Set: Data Processing, Branches, and Control FlowUnit 3 of Embedded Systems Programming covers the foundational ARM instruction set, including data processing instructions (load/store, arithmetic, logical), branch instructions (conditional/unconditional), and control flow mechanisms. Students learn how to manipulate data, make decisions, and optimize code for ARM pro8 min readUnit 4 · 8 hrs
ARM Thumb Instruction Set: Compact Coding for EfficiencyUnit 4 of Embedded Systems Programming: explores the ARM Thumb instruction set, its 16-bit compact encoding, conditional execution, and optimizations for low-power and high-performance embedded applications, with practical examples and code traces.12 min readUnit 5 · 8 hrs
Efficient C for ARM: Optimizations & ConstraintsUnit 5 of Embedded Systems Programming covers memory-efficient C coding for ARM, register usage, bit manipulation, inline assembly, and compiler optimizations, with real-world constraints like limited RAM/ROM and power budgets.6 min readUnit 6 · 8 hrs
ARM Assembly: Code Optimization & EfficiencyUnit 6 of Embedded Systems Programming: This unit teaches ARM assembly language syntax, optimization techniques (register usage, pipelining, branch prediction), and how to write efficient low-level code for resource-constrained embedded systems.8 min readUnit 7 · 5 hrs
Firmware & Embedded OS: Bootloaders, RTOS, and Real-Time ControlUnit 7 of Embedded Systems Programming: explores firmware design, bootloaders, real-time operating systems (RTOS), scheduling, and embedded OS architectures, with practical insights into how they power devices from smartwatches to industrial controllers.13 min read