You are on page 1of 18


EVAT (Emblitz Varsity Associate Trainee) Program: ARM Online Crash Course
In today's era ARM is the industry's standard 16 / 32 -bit embedded RISC microprocessor, this course covers in-depth of ARM processors, Introduction to ARM, ARM processor architecture, ARM7, ARM9, Introduction to GNU tool chain. ARM programming model, Exception handling, Introduction to thumb instruction set, ARM THUMB procedure call standards (ATPCS), ARM optimization techniques, Building RTOS image and porting.

Academia, amateurs, professionals and research labs across the India and around the world would appreciate the kinds of technical skills we teach. There are no educational prerequisites to enroll. However, you should be familiar with basic electronics, and comfortable with fundamentals. Follow the sessions in the order given below. After every session fill the work book.

Session - 1 Introduction to Emblitz Technologies and EmBlitz kits Know your kit Kit contents Study materials Software development tools Introduction to EmBlitz ARM board

Introduction to embedded micro controller on board Introduction to embedded microprocessor on board On-board peripherals Identify the programming, i/o and communication ports Locate important switches on board The Microprocessors Introduction to embedded microprocessors Features of an embedded microprocessor Hard and soft microprocessor Examples of microprocessors The Microcontrollers Introduction to embedded microcontrollers Features of an embedded microcontroller Examples of microcontrollers Microprocessor vs Microcontroller

Similarities and Differences

Session - 2 1. Introduction to Microprocessor Architectures Von-Neumann Architecture Harvard Architecture 2. Von-Neumann vs Harvard Similarities and Differences Advantages and Disadvantages 3. Introduction to Microprocessor instruction set architecture CISC Architecture RISC Architecture Instruction execution in CISC architecture Instruction execution in RISC architecture 4.CISC vs RISC Differences and Similarities

Advantages and Disadvantages

Session - 3 1. Introduction to 32-bit microprocessor Example 32-bit microprocessors 2. Why ARM? 3. Why ARM is popular? 4. What is ARM? 5. Introduction to company The ARM Ltd. 6. Introduction to ARM family and ARM7TDMI

Session - 4 1. The ARM7TDMI Nomenclature Features 2. 3-stage pipeline 3. 2 operating states

4. 7 operating modes 5. 2 Instruction Sets 6. PC behavior in 2 operating states 7. Pipeline influence on PC 8. Introduction to ARM7 programmer's model 9. Program Status register

Session - 5 1. Discussion of 7 operating modes 2. SPSR register 3. Example mode switching 4. Register set Summary 5. Introduction to exceptions and Interrupts 6. ARM7 Exceptions and Interrupts 7. Exception priorities 8. Exception vector table 9. Exceptions and modes 10.Exception handling in ARM7

Session - 6 1. Introduction to ARM7 instruction sets 2. ARM Data Flow Model 3. Features of ARM instruction set 4. Different ARM instruction formats 5. General Syntaxes of ARM instructions 6. ARM7 Condition Codes

Session - 7 1. Data Processing Instructions 2. Logical Instructions 3. Data Movement Instructions 4. Barrel Shifter 5. Generation of immediate values 6. Loading 32-bit constants

Session - 8 1. Data Transfer Instructions 2. Single Data Transfer Instructions 3. Pre-indexed Addressing 4. Post-indexed Addressing

Session - 9 1. Project Development Stages 2. Programming in Assembly Language 3. Introduction to GNU 4. Introduction to compiler and cross compiler 5. Introduction to tool chain 6. Project development using keil and GNUSession - 10 1. Setting up of Keil IDE and GNU 2. Creating Projects in Keil 3. Assembler Directives 4. Assembly Program Layout

5. First Program in Keil 6. Linker Script 7. Debugging the Program Session- 11 1. Programming using Data Transfer Instructions 2. Block Data Transfer Instructions 3. Addressing Modes 4. Stack operations 5. Stack Types 6. Data Swap Instruction 7. Programming using Block Data Transfer Instructions

Session - 12 1. Branch Instruction 2. Branch with Link register 3. PSR transfer Instructions 4. Software Interrupt Instruction

5. Multiplication Instructions 6. Thumb Register Set 7. Features of Thumb Instruction Set 8. Study of Thumb Instructions

Session - 13 1. ARM Thumb interworking 2. Branch Exchange Instruction 3. Understanding interworking using assembly program 4. Vector Table Initialization 5. Stack Initialization 6. Exceptions Handling 7. Startup Code

Session - 14 8. Introduction to ARM system 9. General Block Diagram

10.LPC2129 as ARM system 11.Understanding LPC2129 pin functions

Session - 15 1. GPIO Pins 2. Programming of GPIO pins 3. LPC2129 clock configuration 4. VPBDIV register

Session - 16 1. UARTs 2. Pinselection 3. Baud Rate Generation 4. Programs for transmission and reception 5. Interrupt handling in LPC2129 6. Vectored Interrupt Controller 7. External Interrupts 8. External Interrupts as FIQ

Session - 17 1. Vectored Interrupt Controller Cont 2. Vectored IRQ Interrupts 3. External Interrupt as Vectored IRQ 4. NonVectored IRQs 5. Programs to demonstrates Interrupts

Session - 18 1. Timers 2. Programming with Timers

Session - 19 1. Running Programs on Board 2. Flashing 3. Debugging Board Features: Processor: LPC2129. 2xSerial ports(One for ISP and other for Serial

Communication). 12.00 MHz crystal. Inbuilt Reset Circuit with a switch on board. RESET circuit can be controlled externally by Philips ISP utility via RS232. Dual Power supply (either through USB or using external power adapter). Status LED for power supply. Three on-board voltage regulators 1.8V, 3.3V and 5V with up to 800mA current Extension headers for all C ports PCB. 32 bit general purpose I/O pins(P0.8-P23 & P1.16-P1.31) are connected to external Connectors to facilitate easy system expansion. A prototyping area is provided for interfacing the controller chip to any of the small peripherals mentioned below:

a) LCD Interfaces b) 7 segment display. c) Matrix Keyboard Interface. d) Stepper Motor Interface. e) CAN Ports. LPC2129 Chip Features: 16/32-bit ARM7TDMI-S microcontroller. 16 kB on-chip RAM,256 kB Flash Program Memory supports upto 60 MHz frequency. In-System Programming (ISP) and In-Application Programming (IAP) via on-chip boot-loader software. On-chip Embedded-ICE-RT, Embedded Trace Macrocell debugger. Two interconnected CAN interfaces with advanced acceptance filters. Four channel 10-bit A/D converter with conversion time as low as 2.44 ms.

Multiple serial interfaces including two UARTs (16C550), Fast I2C (400 kbits/s) and two SPIs. Phase-Locked Loop with settling time of 100 ms. Vectored Interrupt Controller with configurable priorities and vector addresses. Two 32-bit timers (with four capture and four compare channels), PWM unit (six outputs), Real Time Clock and Watchdog. Up to forty-six 5V tolerant general purpose I/O pins. Up to nine edge or level sensitive external interrupt pins available. On-chip crystal oscillator with an operating rangeof 1 MHz to 30 MHz. Two low power modes: Idle and Power-down. Processor wake-up from Power-down mode via external interrupt. Individual enable/disable of peripheral

functions for power optimization. CPU operating voltage range of 1.65V to 1.95V (1.8 V 0.15 V). I/O power supply range of 3.0 V to 3.6 V (3.3 V 10 %) with 5 V tolerant I/O pads. System Requirement: Hardware requirements: A PC with serial (RS232) port. If serial port is not available, a USB to serial converter (Ec95829) can be purchased from us. A USB port to provide power supply for the board.

Software requirements: MS Windows 98/ME/NT/2000/2003/XP/Vista

Contents of Kit:

ARM board JTAG wiggler and Cable 1 Software CD containing Keil IDE, GNU Toolchain, JTAG debugger, ISP Utility, Example codes, and all necessary documentation including schematics of the Board, Users Manual for the board, Data Sheets of all ICs used on board and reference manuals. DVDs containing the Video sessions* Serial Cable USB cable

Parallel port cable Extra jumpers * Video sessions may be provided on CD on request. _______________________________________________ _________________________________ Emblitz Technologies Pvt. Ltd. #738/33, 12th Main, 3rd Block, Rajajinagar, Bangalore-560010, India Phone:+91 80 2314 0344 / 2314 6229 Mobile:+91 09980562847/9449104615 Email: