Pre-requisites:
Must have knowledge of C++ Programming.
Overview:
- Microcontrollers, Microprocessors, and SoC
- RISC vs. CISC
- Harvard vs. Princeton Architectures
- Overview of Computer Architecture
- Embedded Memories
- Timers/Counters
- UART, SPI, PWM, WDT
- Input Capture, Output Compare Modes
- I2C, CAN
- LED, Switches
- ADC, DAC
- LCD, RTC
- Bus Standards (USB, PCI)
- Programming in Assembly and Embedded C
- Overview of ARM Architecture and Organization
- Introduction to Cortex-M Architecture
- Programming Model and Instruction Set Architecture
- Alignment and Endianness
- Register Access, State, Privilege, Stack, System Control Block
- Power Modes
- Memory Model
- NVIC
- Exception Handling
- Bit Banding
- Peripheral Programming
- SVCall, SysTick, PendSv, MPU, DMA
- Mixing Assembly and C Programs
- Introduction to CMSIS & CMSIS Components
- Overview of Cortex A & R Architectures
- Introduction to Multi-Core Embedded Systems
- Introduction to FPGA