Singapore University of Social Sciences

Microprocessor Programming

Microprocessor Programming (ENG301)


ENG301, Microprocessor Programming is intended to introduce the programming fundamentals of the ARMv7 microcontroller system, its instruction set, and the programming/control of ARMv7 based systems. To enhance the understanding and application of ARMv7 microcontroller, the classical ARM architecture and assembly language programming, ARM organization and implementation and architecture support for system development are comprehensively discussed.

Level: 3
Credit Units: 5
Presentation Pattern: EVERY JULY


  • Introduction to Processor Design
  • Processor Architecture and Organization
  • Abstraction in Hardware/System Design
  • Introduction to ARM
  • ARM Assembly Language Programming
  • ARM Pipeline and Processor Design Implementation
  • ARM Instruction Execution
  • Pipeline Hazard and Design Solution
  • Embedded System Design
  • Exception Handling
  • Memory Interface
  • Memory Hierarchy

Learning Outcome

  • Analyse ARM processor architecture and microcontroller configuration.
  • Appraise the abstraction in hardware / software design and the trade-offs in processor design.
  • Demonstrate the handling of ARM interrupts, data processing instructions, data transfer instructions and execution of programming languages.
  • Examine the principles and basic concepts of Pipeline Design.
  • Sketch the ARM memory interface, advanced microcontroller bus architecture and different-levels of memory hierarchy.
  • Execute simple assembly language programs.
  • Design systems based on: (a) ARM Microcontroller architecture (b) ARM Cortex™-M3 processor.
Back to top
Back to top