Lecture 1: Introduction to ARM Embedded Systems
Lecture 2: ARM Processor fundamentals
Lecture 3: ARM Processor Fundamentals - II
Lecture 4: ARM Assembly Programming - I: Data processing instructions
Lecture 5: ARM Assembly Programmng - II: Load, Store & Addressing
Lecture 6: Constants and Literal Pool
Lecture 7: Logic and Arithmetic Operations
Lecture 8: Loops and Branches
Lecture 9: Tables
Lecture 10: Introduction to STR-E912 Development Board
Lecture 11: Stacks and Subroutines
Lecture 12: Exception Handling & Interrupts
Lecture 13: Introduction to Interrupts on STR-E912 Board
Lecture 14: Memory mapped peripherals
Lecture 15: Thumb Instructions
Books
ARM Assembly Language: Fundamentals and Techniques by William Hohl, CRC Press, First Edition
ARM Architecture Reference Manual (External Link)
ARM System Developer's Guide: Designing and Optimizing System Software by Andrew N. Sloss, Dominic Symes and Chris Wright
Lab Lectures by Darshak Vasavada
Lab Lecture-1: Embedded System - Development Environment
Assignments
Assignment 1: Introduction to addressing, memory, number systems
Lab Experiments
Experiment 1: Introduction to GNU ARM ToolChain
Experiment 2: ARM Assembly Programming
Experiment 3:
Experiment 4:
Experiment 5:
Experiment 6:
Experiment 7: Using GPIO pin to blink LED
Experiment 8: Generating PWM waveform
Experiment 9: Using ADC Module
Experiment 10: Interrupts
Experiment 11: I2C
Experiment 12: RTC-Alarm
Links
Downloads
GNU ARM toolchain (Version 3.4.3 for 32-bit machines) (Obtained from CEDT, IISc Bangalore)
Openocd-0.4.0 and Examples (Obtained from CEDT, IISc Bangalore)
Introduction to GNU ARM Assembler
Introduction to GNU ARM Debugger
Introduction to GNU ARM Compiler
STR91xFAxxx Data Sheet
STR91xFAxxx Reference Manual
Insider's guide to the STR91x ARM9 Microcontroller
Disclaimer: Many of the files uploaded here were available in the public domain. Please report any copyright violation to swagat[dot]kumar[at]gmail[dot]com