ARM Based Development
Offered By: NPTEL via YouTube
Course Description
Overview
Instructor: S. Chandramouleeswaran, Embedded Systems Professional.
The goal of this course is to teach all the assembly instructions of ARM7TDMI processor and its internal functioning, enabling students to understand any other processor architectures at ease. This course provides good understanding of how coprocessors are interfaced with ARM core and how coprocessors can be programmed; provides an in-depth understanding of the Floating point representation and the VFP coprocessor implementation in particular; covers the details of cache architectures, AMBA bus, virtual memory management concepts with the detailed explanation on the Memory Management Unit (MMU) and Memory Protection Unit (MPU); gives good overview of various peripherals used with ARM core and it basic functioning; and touches upon later versions of ARM7 processor and their features and new developments.
Syllabus
Mod-01 Lec-01 Types of computer Architectures, ISA's and ARM History.
Embedded System Software and Hardware, stack implementation in ARM, Endianness, condition codes.
Processor core VS CPU core, ARM7TDMI Interface signals, Memory Interface, Bus Cycle types.
Instruction Format, ARM Core Data Flow Model, ARM 3 stage Pipeline, ARM family attribute comparision.
ARM 5 stage Pipeline, Pipeline Hazards, Data forwarding - a hardware solution.
ARM ISA and Processor Variants, Different Types of Instructions, ARM Instruction set.
Shift Operations, shift Operations using RS lower byte, Immediate value encoding.
Dataprocessing Instructions.
AddressingMode-1, Addressing Mode -2.
Addressing Mode -2, LDR/STR, Addressing mode -3 with examples.
Instruction Timing, Addressing Mode - 4 with Examples.
Swap Instructions, Swap Register related Instructions, Loading Constants.
Program Control Flow, Control Flow Instructions, B & BL instructions, BX instruction.
Interrupts and Exceptions, Exception Handlers, Reset Handling.
Aborts, software Interrupt Instruction, undefined instruction exception.
Interrupt Latency, Multiply Instructions, Instruction set examples.
Thumb state, Thumb Programmers model, Thumb Implementation, Thumb Applications.
Thumb Instructions, Interrupt processing.
Interrupt Handelling schemes, Examples of Interrupt Handlers.
Coprocessors.
Coprocessor Instructions, data Processign Instruction, data transfers, register transfers.
Mod-03 Lec-22 Number representations, floating point representation.
Flynn's Taxonomy, SIMD and Vector Processors, Vector Floating Point Processor (VFP), VFP and ARM.
Memory Technologies, Need for memory Hierarchy, Hierarchical Memory Organization, Virtual Memory.
Cache Memory, Mapping Functions.
Cache Design, Unified or split cache, multiple level of caches, ARM cache features, coprocessor 15.
Processes, Memory Map, Protected Systems, ARM systems with MPU, memory Protection Unit (MPU).
Physical Vs Virtual Memory, Paging, Segmentation.
MMU Advantage, virtual memory translation, Multitasking with MMU, MMU organization.
ARM Development Environment, Arm Procedure Call Standard (APCS),.
Example C program.
Embedded software Development, Image structure, linker inputs and outputs, memory map, application.
AMBA Overview, Typical AMAB Based Microcontroller, AHB bus features, AHB Bus transfers.
DMA, Peripherals, Programming Peripherals in ARM.
DMA:Direct Memory Access.
Protocols (I2c, SPI), UART, GPIO.
ARM ISAs, ARMv5, ARMv6, ARM v7, big.little technology, ARMv8.
Taught by
nptelhrd
Tags
Related Courses
Active Optical DevicesUniversity of Colorado Boulder via Coursera Advanced Converter Control Techniques
University of Colorado Boulder via Coursera Algorithms for Battery Management Systems
University of Colorado System via Coursera Approximation Methods
University of Colorado Boulder via Coursera Aprendiendo Python con circuitos digitales
Coursera Project Network via Coursera