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