EMBEDDED SYSTEMS DESIGN USING ARM TECHNOLOGY
Lecture : 3 Year:
IV
Tutorial : 1 Part
: I
Practical : 1.5
Course Objectives:
·
To provide fundamentals concepts and insights for
understanding of the ARM based Processors architecture and programming embedded
system based on ARM powered MCU for application in control, consumer,
multimedia signal processing and mobile and wireless communications systems.
1. ARM
Embedded Systems [3
hours]
1.1. Introduction to Embedded Systems
1.2. The RISC Design Philosophy
1.3. The ARM Design Philosophy
1.4. Embedded System Hardware
1.5. Embedded System Software
2. ARM
Processor Fundamentals [3
hours]
2.1. The Acron RISC Machine
2.2. The ARM programmer's model
2.3. Current Program Status Register
2.4. Exceptions, Interrupts, and the
Vector Table
2.5. ARM Processor Families
3.
ARM Organization and Peripherals [6
hours]
3.1. 3-stage pipeline ARM organization
3.2. 5-stage pipeline ARM organization
3.3. ARM instruction execution
3.4. Peripherals: GPIO, UART, I2C, SPI,
ADC/DAC, Timers, Displays, Interrupts and DMA.
4.
Efficient C Programming for ARM [3
hours]
4.1. Data types, Expressions and
Conditional statements
4.2. Loops, Functions and procedures
4.3. Use of memory
4.4. Pointer Aliasing
4.5. Bit-Field
5. ARM
Assembly Language Programming [3
hours]
5.1.1. 4.1 Data processing instructions
5.1.2. 4.2 Data transfer instructions
5.1.3. 4.3 Control flow instructions
5.1.4. 4.4 Writing simple assembly language
programs
6. ARM
Instruction Set [6
hours]
6.1. Data Processing Instructions
6.2. Branch Instructions
6.3. Load-Store Instructions
6.4. Software Interrupt Instruction
6.5. Program Status Register Instructions
6.6. Loading Constants
6.7. Conditional Execution
7. Thumb
Instruction Set [3
hours]
7.1. The Thumb bit in the CPSR
7.2. The Thumb programmer's model
7.3. Thumb branch instructions
7.4. Thumb software interrupt instruction
7.5. Thumb data processing instructions
7.6. Thumb single register data transfer
instructions
7.7. Thumb multiple register data
transfer instructions
7.8. Thumb breakpoint instruction
7.9. Thumb implementation
7.10. Thumb applications
8. Architectural
Support for System Development [6
hours]
8.1. The ARM memory interface
8.2. The Advanced Microcontroller Bus
Architecture (AMBA)
8.3. The ARM reference peripheral
specification
8.4. Hardware system prototyping tools
8.5. The ARMulator
8.6. The JTAG boundary scan test
architecture
8.7. The ARM debug architecture
8.8. Embedded Trace
9. Firmware
and Embedded Operating Systems [6
hours]
9.1. Firmware and Bootloader
9.2. Fundamental components of embedded
operating systems
9.3. Embedded Linux
9.4. Android Operating Systems
10. Signal
Processing and Communication Application using ARM Cortex Processors [6 hours]
10.1. ARM Cortex-M4 Processors for
Multimedia Signal Processing
10.2. Hardware and software development
aspects for Cortex-M series applications
10.3.
ARM
Cortex-R processors for mobile and wireless communication
10.4.
Hardware
and software development aspects for Cortex-R series applications
Practicals:
1.
Lab
1 Introduction to NXP LPC2148 MCU, Development Board and Development Tools
2.
Lab
2 Programming in C & Assembly (KEIL and PROTEUS)
3.
Lab
3 GPIO Programming (LED, LCD, Keypad, Buzzer)
4.
Lab
4 Serial Protocols Programming (UART0, I2C0, SPI)
5.
Lab
5 Timer Programming (Timer/Counter, PWM, WDT, RTC)
6.
Lab
6 LPC2148 Interface for ADC/DAC
References:
1. Andrew N. Sloss, Dominic Symes, Chris
Wright “ARM System Developer’s Guide”, Morgan Kaufmann., 2005
2. Steve Furber, “ARM System-on-Chip
Architecture,” Second Edition, Addison Weley, 2000
3. Joseph Yiu, “ The Definitive Guide
to the ARM Cortex-M3,” Newnes, 2009
4. William Hold, “ARM Assembly Language:
Fundamentals and Techniques,” CRC Press,
5. David Seal, “Free ARMv7-AR, ARMv7-M,
ARMv6-M and ARMv5 Architecture Reference Manual Downloads,” Addison-Wesley
6. Warwick A.Smith, “C Programming for
Embedded Microcontrollers”
Evaluation Scheme:
There will be 10
questions covering all the chapters in the syllabus. The evaluation scheme for
the questions will be indicated in the table below:
Chapters
|
Hours
|
Mark Distribution*
|
1
|
3
|
5
|
2
|
3
|
5
|
3
|
6
|
10
|
4
|
3
|
6
|
5
|
3
|
6
|
6
|
6
|
11
|
7
|
3
|
6
|
8
|
6
|
13
|
9
|
6
|
9
|
10
|
6
|
9
|
Total
|
45
|
80
|
No comments:
Post a Comment