1. Fundamentals of Embedded System
1.1. Core of the embedded system, Memory, Sensors (resistive, optical, position, thermal) and Actuators (solenoid valves, relay/switch, opto-couplers), Communication Interface, Embedded firmware (RTOS, Drivers, Application programs), Power-supply (Battery technology, Solar), PCB and Passive ...
1. Fundamentals of Embedded System
1.1. Core of the embedded system, Memory, Sensors (resistive, optical, position, thermal) and Actuators (solenoid valves, relay/switch, opto-couplers), Communication Interface, Embedded firmware (RTOS, Drivers, Application programs), Power-supply (Battery technology, Solar), PCB and Passive components, Safety and reliability, environmental issues. Ethical practice.
1.2. Characteristics and quality attributes (Design Metric) of embedded system. Real time system’s requirements, real time issues, interrupt latency.
- Embedded Product development life cycle, Program modeling concepts: DFG, FSM, Petri-net, UML
2. Embedded Serial Communication
2.1. Study of basic communication protocols like SPI, SCI (RS232, RS485), I2C, CAN, Fieldbus (Profibus), USB (v2.0), Bluetooth, Zig-Bee, Wireless sensor network
3. Embedded Hardware and Design
3.1. Low power hardware design (MSP430 / Cortex-M3 based Real time clock and PWM dc motor control as a case study using on chip timers and watch-dog-timers).
3.2. Introduction to ARM-v7-M (Cortex-M3), Comparison of ARM-v7-A (CortexA8), ARMv7-R (CortexR4), ARM-v7-M (Cortex-M3)
3.3. Direct digital solution using CPLD, FPGA, its advantages, and introduction to related development methodology
4. Embedded Software, Firmware Concepts and Design
4.1. Embedded C-programming concepts (from embedded system point of view): Optimizing for Speed/Memory needs, Interrupt service routines, macros, functions, modifiers, data types, device drivers, Multithreading programming. (Laboratory work on J2ME Java mobile application).
4.2. Basic embedded C programs/applications for ARM-v7, using ARM-GCC-tool-chain, Emulation of ARM-v7 (e.g. using QEMU), and Linux porting on ARM-v7 (emulation) board
4.3. Real time operating system: POSIX Compliance , Need of RTOS in Embedded system software, Foreground/Background systems, multitasking, context switching, IPC, Scheduler policies, Architecture of kernel, task scheduler, ISR, Semaphores, mailbox, message queues, pipes, events, timers, memory management, RTOS services in contrast with traditional OS.
4.4. Introduction to μCOS-II RTOS, study of kernel structure of μCOS-II, Synchronization in μCOS-II, Inter-task communication in μCOS-II, Memory management in μCOS-II, porting of RTOS on ARM-v7 (emulation) board, Application developments using μCOSII.
4.5. Introduction Linux OS, Linux IPC usage, basic device (drivers) usage.
5. Simulation, Testing and Debugging Methodology and Tools
5.1. GNU Debugger (gdb), Boundary-Scan/JTAG interface concepts, Black-box, White-box testing, Hardware emulation, logic analyzer.
6. Embedded System Designing
6.1. Requirement analysis, Hardware blocks diagram, System model (like FSM, UML), Software architectures (modules, drivers), and Component/hardware selection, covering following cases: Hard real time/ Mission critical: Missile, Car cruise control, medical monitoring systems, process control system (temp, pressure) Soft real time: Automated vending machines, digital camera, media-player.
6.2. Communication: Embedded web servers, routers, Wireless (sensor) networks