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 read

Unit 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 read

Unit 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 read

Unit 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 read

Unit 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 read

Unit 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 read

Unit 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