Introduction
· What is embedded systems
· Embedded Systems Application
· Difference between MCU and MP
· Memories
· Addressing I/O devices
· Microcontroller Categorize and Providers
· Computer Architecture
· CISC vs RISC
· Processor Design
· Memory Types
· MCU Internal Architecture
· Introduction to MCU peripherals
C Programming & Data Structure
· Hello c, data types, operators
· Rest of operators, if switch case loops
· Function and modular programming
· C building process
· Pointers
· Arrays , strings
· Structures and unions
· Standard C library
· Stack, Linked list ,Queue
· Searching algorithms
· Sorting algorithms
Microcontroller Interfacing AVR
· Microcontroller (AVR ATmega 32)
· I/O Ports
· AVR DIO module
· ATmega 32 data sheet
· Layered architecture in Embedded Software (case study is AVR)
· LCD and Keypad driver
· Interrupts
· ADC and Sensors
· General Purpose timer
· Timers and PWM interfacing
· UART Interface
· SPI
· I2C
Microcontroller Interfacing ARM
- The Acron RISC Machine
- The ARM programmer’s model
- ARM Processor Families
- ARM cortex M3
- STM32F10x microcontroller vs avr
- Led interface
- Interrupt
- Timer
- ADC
- PWM
- UART
- SPI
- I2c
- DMA
Embedded system Tools & Software Engineering
· Software configuration management (SVN) Simulator
· Emulator
· Debugger
· IDE
· Preprocessor
· Compiler
· Assembler
· Linker
· Make file
· Introduction to software engineering
· Software process and models
· Rapid software development
· Agile method
· Case study (V Model)
RTOS
- Design patterns
· Foreground/background systems
· Real time systems
· Types of real time systems
· Multi-tasking vs Multi-processing
· Scheduling algorithms
· FreeRTOS Porting
· Tasks creation
· Task states
· Task control
· Task utils
· Shared resource problem
· Race condition
· Reentrancy
· Critical sections
· Queue management Using queues Semaphores
· Binary semaphores
· Counting semaphores
· Priority inversion and deadlocks
· Mutex
· Priority inheritance
Testing & Automotive Bus technologies
- Embedded Systems Development Cycle
· Basic Development Patterns
· Basic Testing Princeples
· Unit Testing
· Module Testing
· Integration Testing
· Validation Testing - White Box Testing
- Black Box Testing
· CAN protocol
· LIN protocol