Objective

To provide fundamental concepts and insights for understanding of the ARM based Processors architecture and programming embedded systems based on ARM powered MCU for applicaiton in control, consumer, multimedia signal processing and mobile and wireless communications systems.

Syllabus

  1. ARM Embedded Systems
    1. Introduction to Embedded Systems
    2. The RISC Design Philosophy
    3. The ARM Design Philosophy
    4. Embedded System Hardware
    5. Embedded System Software
  2. ARM Processor Fundamentals
    1. The Acron RISC Machine
    2. The ARM programmer's model
    3. Current Program Status Register
    4. Exceptions, Interrupts, and the Vector Table
    5. ARM Processor Families
  3. ARM Organization and Peripherals
    1. 3-stage pipeline ARM organization
    2. 5-stage pipeline ARM organization
    3. ARM instruction execution
    4. Peripherals: GPIO, UART, I2C, SPI, ADC/DAC, Timers, Displays, Interrupts and DMA.
  4. Efficient C Programming for ARM
    1. Data types, Expressions and Conditional statements
    2. Loops, Functions and procedures
    3. Use of memory
    4. Pointer Aliasing
    5. Bit-Field
  5. ARM Assembly Language Programming
    1. Data processing instructions
    2. Data transfer instructions
    3. Control flow instructions
    4. Writing simple assembly language programs
  6. ARM Instruction Set
    1. Data Processing Instructions
    2. Branch Instructions
    3. Load-Store Instructions
    4. Software Interrupt Instruction
    5. Program Status Register Instructions
    6. Loading Constants
    7. Conditional Execution
  7. Thumb Instruction Set
    1. The Thumb bit in the CPSR
    2. The Thumb programmer's model
    3. Thumb branch instructions
    4. Thumb software interrupt instruction
    5. Thumb data processing instructions
    6. Thumb single register data transfer instructions
    7. Thumb multiple register data transfer instructions
    8. Thumb breakpoint instruction
    9. Thumb implementation
    10. Thumb applications
  8. Architectural Support for System Development
    1. The ARM memory interface
    2. The Advanced Microcontroller Bus Architecture (AMBA)
    3. The ARM reference peripheral specification
    4. Hardware system prototyping tools
    5. The ARMulator
    6. The JTAG boundary scan test architecture
    7. The ARM debug architecture
    8. Embedded Trace
  9. Firmware and Embedded Operating Systems
    1. Firmware and Bootloader
    2. Fundamental components of embedded operating systems
    3. Embedded Linux
    4. Android Operating Systems
  10. Signal Processing and Communication Application using ARM Cortex Processors
    1. ARM Cortex-M4 Processors for Multimedia Signal Processing
    2. Hardware and software development aspects for Cortex-M series applications
    3. ARM Cortex-R processors for mobile and wireless communication
    4. Hardware and software development aspects for Cortex-R series applications