Below is a concise, structured note for each of the 21 topics listed in the
SWD 412 syllabus.
You can copy-paste each section into your own notebook or LMS.
-------------------------------------------------
1. Definition of Embedded System
An embedded system is a combination of hardware and software designed to
perform a specific, dedicated function within a larger mechanical or electrical
system.
Examples: Microwave oven controller, anti-lock braking system (ABS) in cars,
glucose meter, digital camera.
2. Purpose of Embedded Systems
• Execute dedicated tasks reliably and efficiently.
• Operate in real-time with minimal human intervention.
• Reduce cost, size, and power consumption compared to general-purpose
computers.
• Provide seamless integration with mechanical/analog parts.
3. Characteristics of Embedded Systems
• Real-time operation (hard or soft).
• Resource-constrained (limited memory, power, processing speed).
• Often invisible to the user.
• High reliability and low failure rate.
• Custom hardware-software co-design.
4. Application Areas
• Consumer electronics (TV remotes, washing machines).
• Automotive (engine control, infotainment).
• Medical (pacemakers, infusion pumps).
• Industrial automation (PLCs, CNC machines).
• Aerospace & defense (flight control, GPS).
5. Classifications of Embedded Systems
a. Based on performance & functionality
• Stand-alone (no host).
• Real-time (hard/soft).
• Networked.
b. Based on complexity
• Small-scale (≤ 8-bit MCU).
• Medium-scale (16/32-bit).
• Sophisticated (multi-core, DSP).
c. Based on generation
• 1st (8-bit, discrete logic).
• 2nd (16-bit, peripherals).
• 3rd (32/64-bit, SoC).
d. Based on programmability
• Microprocessor vs. Microcontroller vs. DSP vs. ASIC.
6. Elements of Embedded Systems
• Processing unit (CPU/DSP).
• Memory (RAM, ROM, Flash).
• I/O interfaces (GPIO, UART, SPI, I2C, ADC/DAC).
• Power supply & reset circuit.
• Clock & timing circuits.
• Sensors/actuators.
• Firmware/software.
7. Processor Types in Embedded Design
• General-purpose MCU (8051, AVR, PIC).
• 32-bit RISC (ARM Cortex-M, Cortex-A).
• DSP (TMS320, SHARC).
• FPGA/SoC (Xilinx Zynq, Intel Cyclone).
• ASIC (custom chip for ultra-low power).
8. Embedded System Development Boards
• Arduino (Atmega328).
• Raspberry Pi (ARM Cortex-A).
• STM32 Nucleo (ARM Cortex-M).
• BeagleBone Black (ARM Cortex-A8).
• ESP32 (Xtensa LX6 + Wi-Fi/BT).
9. Usefulness of ASIC, ASIP, LED, COTS, PLD, CPLD
• ASIC – Custom chip; lowest power & cost in volume.
• ASIP – Application-specific instruction set; balances flexibility &
performance.
• LED – Light-emitting diode; simple I/O & status indicator.
• COTS – Commercial off-the-shelf; fast prototyping, lower NRE.
• PLD – Programmable logic device; small-scale glue logic.
• CPLD – Complex PLD; more registers & macrocells than PLD.
10. Embedded System Design Process
Requirements → Architecture → Hardware design → Firmware design →
Integration → Testing → Deployment → Maintenance.
11. Stages in Embedded System Design Process
1. Requirement analysis (functional, non-functional).
2. System specification (UML, SysML).
3. High-level design (block diagram, interface).
4. Detailed design (schematics, register maps).
5. Implementation (PCB layout, code).
6. Verification & validation (simulation, emulation, bench test).
7. Certification & production.
12. Embedded System Communication Interface
• Serial: UART, SPI, I2C, CAN, LIN.
• Parallel: GPIO, address/data buses.
• Wireless: Bluetooth, Wi-Fi, Zigbee, LoRa, NFC.
• Fieldbus: Modbus, Profibus, EtherCAT.
13. Categories of Each Interface Type
• UART – Simple, low-speed, point-to-point.
• SPI – Full-duplex, synchronous, master-slave.
• I2C – Multi-master, half-duplex, addressable.
• CAN – Robust, multi-node, priority-based.
• Ethernet – High-speed, TCP/IP stack.
• Wireless – Range & power vary (e.g., BLE vs. Wi-Fi).
14. Embedded System Firmware & Its Importance
Firmware = low-level software stored in non-volatile memory that controls
hardware.
Importance:
• Initializes peripherals.
• Handles interrupts & real-time tasks.
• Enables field updates.
• Ensures deterministic behavior.
15. Embedded Development Languages
• C (dominant, portable).
• C++ (OOP, RTOS-friendly).
• Assembly (fine control, small code).
• Rust (memory safety, no GC).
• Python (scripting, prototyping).
• MATLAB/Scilab (signal processing).
16. Embedded Firmware Development Approaches
• Bare-metal (direct register access).
• RTOS-based (task scheduling).
• Hardware abstraction layer (HAL).
• Model-based (Simulink → C code).
• Agile firmware (CI/CD, unit tests).
17. Real-Time Operating System (RTOS)
A compact OS that guarantees deterministic response times for time-critical
tasks.
Core features: task management, inter-task communication (queues,
semaphores), scheduling (pre-emptive, priority-based).
18. Examples of RTOS
• FreeRTOS (open-source, small footprint).
• Zephyr (Linux Foundation, BLE support).
• ThreadX (Azure RTOS).
• VxWorks (commercial, safety-certified).
• Mbed OS (ARM ecosystem).
19. Functions of RTOS
• Task creation, deletion, suspension.
• Priority-based pre-emptive scheduling.
• Inter-task synchronization (mutex, semaphore, event flags).
• Memory management (dynamic allocation).
• Timers & watchdog handling.
• Device driver abstraction.
20. Factors Influencing Choice of RTOS
• Footprint (ROM/RAM usage).
• Certification (IEC 61508, ISO 26262).
• Scalability (microcontroller to multicore).
• Toolchain & IDE support.
• Community & vendor support.
• Licensing cost (open vs. commercial).
• Protocol stack availability (TCP/IP, BLE).
21. (Incomplete in original document)
Likely intended as “Debugging & Testing Techniques” or “Power Management
Strategies”.
Typical topics:
• In-circuit debuggers (JTAG, SWD).
• Unit testing (Unity, Ceedling).
• Static analysis (MISRA-C).
• Power profiling & low-power modes (sleep, tickless idle).
-------------------------------------------------
Use this as a quick reference or expand each bullet into full paragraphs for
exams.