EECE631 Microcomputer System Design

Document Sample
EECE631 Microcomputer System Design Powered By Docstoc
					EECE631 Microcomputer
    System Design
        Spring 2008
   Lecture 1: Introduction
        Chris Lewis
      clewis@ksu.edu
  www.eece.ksu.edu/clewis
                  Misc
• Grades            • Work Hard
  – Worst Case:     • Learn from your
  – 90,80,70,60       mistakes
                    • Don’t Cheat
                         – Yourself
                         – Your classmates
                   Outline
• Course Outline
• Course Emphasis
• Lab outline
• References - where to get more info.
• Terminology
• Software
               Course Outline
• Software (5 weeks)
  - Hardware and Assembly language
  - Debugging and Debuggers
  - C programming for Microprocessors
• Hardware (5 weeks)
  - Exceptions and Interrupts Testing
  - onboard peripherals
• Systems (4 weeks)
  - Timing
  - Other Micros and future trends
• Exams (1 week)
                   Outline
• Course Outline
• Course Emphasis
• Lab outline
• References - where to get more info.
• Terminology
• Software
          Course Emphasis
• Course Objectives
  - Embedded System Emphasis
     Program can reside in ROM
     Software interface to outside world
  - Overall project framework
  - Hands On
     Demonstrate programs work
                   Outline
• Course Outline
• Course Emphasis
• Lab Outline
• References - where to get more info.
• Terminology
• Software
                     Lab Outline
• Software - Emphasis on C Programming
  - Assembly
  - Debuggers
  - C programming and assembly relationship
• Hardware –
  - Testing
  - MIOS and Discrete I/O
  - A/D and D/A conversion
  - SPI
  - PWM and wave form capture
• Project
  - 2 person combines hardware and software
  - Program in C
                   Outline
• Course Outline
• Course Emphasis
• Lab outline
• References - where to get more info.
• Terminology
• Software
              References
• Course Web Site
 - http://www.eece.ksu.edu/clewis
• Books
 -Users and Reference Manuals for
 Processor
 - Any C programming book
  - Michael Barr, Programming Embedded
 Systems in C and C++ ,1999, O’Reilly &
 Associates, Inc.(Pub) (Recommended)
 - Any ARM Programming Book
                   Outline
• Course Outline
• Course Emphasis
• Lab outline
• References - where to get more info.
• Terminology
• Software
                     Cycle Terminology
         Clock Cycle - time for the internal clock to complete one cycle
         Bus Cycle - Time for processor to bring a word from memory.
         Shown as two clock cycles in drawing. May include wait states
         making for a variable number of clock cycles
         Instruction cycle - time for an instruction to complete. Shown as two
         bus cycles or four clock cycles. Time may depend on instruction.




clock cycle             |<-------->|           |                      |
Bus cycle               |<-------------------->|                      |
Instruction cycle       |<------------------------------------------->|
                  Terminology
•   RISC
•   CISC
•   SOC
•   ASIC
•   Nibble
•   Byte
•   Half-Word
•   Word
•   Double Word
•   Quad Word
                Terminology
•   RISC – Reduced Instruction Set Computer
•   CISC
•   SOC
•   ASIC
•   Nibble
•   Byte
•   Half-Word
•   Word
•   Double Word
•   Quad Word
                Terminology
•   RISC – Reduced Instruction Set Computer
•   CISC – Complex Instruction Set Computer
•   SOC
•   ASIC
•   Nibble
•   Byte
•   Half-Word
•   Word
•   Double Word
•   Quad Word
                Terminology
•   RISC – Reduced Instruction Set Computer
•   CISC – Complex Instruction Set Computer
•   SOC – System on a Chip
•   ASIC
•   Nibble
•   Byte
•   Half-Word
•   Word
•   Double Word
•   Quad Word
                 Terminology
•   RISC – Reduced Instruction Set Computer
•   CISC – Complex Instruction Set Computer
•   SOC – System on a Chip
•   ASIC – Application Specific Integrated Circuit
•   Nibble
•   Byte
•   Half-Word
•   Word
•   Double Word
•   Quad Word
                 Terminology
•   RISC – Reduced Instruction Set Computer
•   CISC – Complex Instruction Set Computer
•   SOC – System on a Chip
•   ASIC – Application Specific Integrated Circuit
•   Nibble – 4 bits
•   Byte
•   Half-Word
•   Word
•   Double Word
•   Quad Word
                 Terminology
•   RISC – Reduced Instruction Set Computer
•   CISC – Complex Instruction Set Computer
•   SOC – System on a Chip
•   ASIC – Application Specific Integrated Circuit
•   Nibble – 4 bits
•   Byte – 8 bits
•   Half-Word
•   Word
•   Double Word
•   Quad Word
                 Terminology
•   RISC – Reduced Instruction Set Computer
•   CISC – Complex Instruction Set Computer
•   SOC – System on a Chip
•   ASIC – Application Specific Integrated Circuit
•   Nibble – 4 bits
•   Byte – 8 bits
•   Half-Word – 16 bits (on a 32 bit machine only)
•   Word
•   Double Word
•   Quad Word
                  Terminology
•   RISC – Reduced Instruction Set Computer
•   CISC – Complex Instruction Set Computer
•   SOC – System on a Chip
•   ASIC – Application Specific Integrated Circuit
•   Nibble – 4 bits
•   Byte – 8 bits
•   Half-Word – 16 bits (on a 32 bit machine only)
•   Word – 32 bits (Normally internal data bus size)
•   Double Word
•   Quad Word
                 Terminology
•   RISC – Reduced Instruction Set Computer
•   CISC – Complex Instruction Set Computer
•   SOC – System on a Chip
•   ASIC – Application Specific Integrated Circuit
•   Nibble – 4 bits
•   Byte – 8 bits
•   Half-Word – 16 bits (on a 32 bit machine only)
•   Word – 32 bits (Normally internal data bus size)
•   Double Word – 64 bits (on a 32 bit machine only)
•   Quad Word
                 Terminology
•   CISC – Complex Instruction Set Computer
•   SOC – System on a Chip
•   ASIC – Application Specific Integrated Circuit
•   Nibble – 4 bits
•   Byte – 8 bits
•   Half-Word – 16 bits (on a 32 bit machine only)
•   Word – 32 bits (Normally internal data bus size)
•   Double Word – 64 bits (on a 32 bit machine only)
•   Quad Word – 128 bits (on a 32 bit machine only)
               Terminology
•   Big-Endian Bit Ordering
•   Big-Endian Byte Ordering
•   Little-Endian Bit Ordering
•   Little-Endian Byte Ordering
              Terminology
• Big-Endian Bit Ordering – left most bit is
  bit 0, right most bit is N-1 on N bit Machine
  (The ARM default)
• Big-Endian Byte Ordering - byte 0 is stored
  in the lowest address, byte N-1 is stored in
  the highest address on N byte transfer (The
  ARM default)
• Little-Endian Bit Ordering
• Little-Endian Byte Ordering
          Care about Endians
Define a C style data structure on your
  embedded processor.
Transmit each byte to a PC via a serial port
Receive these bytes in a buffer on a PC
Cast the buffer to the same structure
Result: Garbage
Big-Endian
Big-Endian
                Terminology
• Big-Endian Bit Ordering – left most bit is bit 0,
  right most bit is N-1 on N bit Machine
• Big-Endian Byte Ordering - byte 0 is stored in the
  lowest address, byte N-1 is stored in the highest
  address on N byte transfer
• Little-Endian Bit Ordering - left most bit is bit N-
  1, right most bit is 0 on N bit Machine (Like
  MC68HC11)
• Little-Endian Byte Ordering - byte N-1 is stored in
  the lowest address, byte 0 is stored in the highest
  address on N byte transfer (The MC68HC11)
Little Endian
Little-Endian
                   Outline
• Course Outline
• Course Emphasis
• Lab outline
• References - where to get more info.
• Terminology
• Software Terminology
        Software Terminology
•   Machine Language
•   Assembly Language
•   High Level Language
•   Assembler
•   Compiler
•   Linker
•   Emulator
•   Debugger
•   Source File
•   Listing File
•   Object File
•   Download File
      Software Terminology
• Machine Language – The language of 1s
  and 0s. Only language the computer
  understands. Lowest level programming
  language.
      Software Terminology
• Assembly Language – A programming
  language that allows the use of mnemonics
  in place of binary machine language
  instructions
• Assembler – A program that allows the
  computer to translate assembly language to
  machine language
• Object file – A machine language program
  that is the result of assembly process
  performed by an assembler
 Assembly Language Statement
• Standard format
  Label* Mnemonic Operand(s)** Comments***
  * Optional
  ** As required, separated by commas
  *** Optional and may require special beginning
    character
  The four fields are separated by one or more
    spaces or tabs.
        Software Terminology
• High Level Language – Programming language
  that uses English language words and
  mathematical symbols, requires no knowledge of
  the computer
• Compiler – A program that translates a complete
  high-level language program to a machine
  language object program. Goes through an
  assembler. The results of the assembler may or
  may not be visible
• Linker – A program that combines source-file
  object code with object code from library files and
  other related files and places the completed code
  in specified memory for specific processor.
                     Software Flow
Source                      Asm
            Compiler                       Assembler
Code C                      Code
 File.c                  File.lst
                         File.s
          File.elf

          Debugger
                                               Object
                                  Linker       Code
          Executable                            File.o

             File.hex
       Software Terminology
• Source File – A program written in either
  assembly or a high-level language. Normally the
  top level file.
• Listing File – A text file that is generated by
  either the assembler or compiler that shows the
  source code instructions and any error messages
  that might have been detected during the
  compilation and/or assembly process.
• Download File – The machine code in the proper
  format to download into a specific machine
       Software Terminology
• Emulator – A computer program that
  simulates a specific microprocessor and
  allows you to run object code generated by
  an assembler or compiler to test it without
  having to have the specific microprocessor
  hardware
• Debugger – A computer program that
  controls program execution on specific
  hardware and shows the internal operation
  of the computer.
                Summary
• Course description
  – lecture
  – Lab
  – Project
• Terminology
  – Hardware
  – Software
• Homework Assignment
              Next Time
• Homework 1 due at beginning of class

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:6
posted:6/23/2011
language:English
pages:42