Embedded Systems Design Using ARM Technology | Syllabus | Marking Scheme | IOE | Elective I


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