Site affiché en Français Voir le site en English (USA) Voir le site en English (GB)
Vous êtes ici: ac6 > ac6-formation > Freescale Power CPUs > MPC8XX implementation

FPQ1 MPC8XX implementation

This course covers PowerQUICC devices, such as MPC885

Objectives
bullet_jaune_1 The course details PowerPC core low level programming.
bullet_jaune_1 It clarifies the operation of bus controller state machines GPCM and UPMs, including SDRAM interface.
bullet_jaune_1 Time Division Multiplexed frame processing is explained.
bullet_jaune_1 A generic interrupt handler supporting nesting is provided.
bullet_jaune_1 The Ethernet controller is described in detail, particularly the auto-negotiation sequence.
bullet_jaune_1 Debug capabilities and real time trace requirements are studied.
A lot of programming examples have been developed by ACSYS to explain the boot sequence and the operation of complex peripherals, such as FEC and SCC.

  •They have been developed with Diab Data compiler and are executed under Lauterbach debugger.
A more detailed course description is available on request at info@ac6-training.com
Prerequisites and related courses
bullet_jaune_2 Experience of a 32-bit processor or DSP is mandatory.
bullet_jaune_2 The following courses could be of interest:
bullet_jaune_3 Ethernet and switching, reference N1
bullet_jaune_3 USB Full Speed High Speed and USB On-The-Go, reference IP2

Plan
INTRODUCTION TO MPC8XX
bullet_jaune_2 MPC8XX block diagram : the PowerPC core, the SIU and the CPM modules
bullet_jaune_2 The 3 registers families : GPRs, SPRs, and memory-mapped
bullet_jaune_2 The 860 derivatives features : 85X, 86X, 87X and 88X
bullet_jaune_2 Performance estimation
PowerPC CORE ARCHITECTURE
bullet_jaune_2 RCPU pipeline, history buffer, isync instruction
bullet_jaune_2 Execution units
bullet_jaune_2 Cache basics
bullet_jaune_2 Load/store architecture
bullet_jaune_2 Sync and eieio instructions
PowerPC CORE PROGRAMMING
bullet_jaune_2 User registers
bullet_jaune_2 Branch instructions
bullet_jaune_2 Integer load / store instructions
bullet_jaune_2 Integer arithmetic
bullet_jaune_2 The EABI
bullet_jaune_2 Code and data sections
bullet_jaune_2 Cache related instruction
bullet_jaune_2 Exception management at core level : handler table, priority
bullet_jaune_2 MMU basics
bullet_jaune_2 Tablewalk through the descriptor tables description
bullet_jaune_2 TLB entry software loading
THE SYSTEM INTERFACE UNIT
bullet_jaune_2 The interrupt controller
bullet_jaune_2 MPC8XX hardware configuration at reset : sampling of the configuration word
bullet_jaune_2 Clock synthesizer
THE EXTERNAL BUS INTERFACE
bullet_jaune_2 Dynamic bus sizing, connection of 8 and 16-bit peripherals
bullet_jaune_2 Single data read and write timing diagrams
bullet_jaune_2 Burst read and write timing diagrams
bullet_jaune_2 Shared resource control
bullet_jaune_2 Bus error, retry
THE MEMORY CONTROLLER
bullet_jaune_2 Address decoding through BR/OR registers
bullet_jaune_2 GPCM timing parameters explanation
bullet_jaune_2 SDRAM basics
bullet_jaune_2 Connection of an SDRAM, UPM initialization
CPM BASICS
bullet_jaune_2 Synchronization between RCPU and CP through the Command Register
bullet_jaune_2 DPRAM organization
bullet_jaune_2 The CPM Interrupt Controller
bullet_jaune_2 CPM general purpose timers
bullet_jaune_2 IDMA channels
bullet_jaune_2 General purpose IO : pin configuration
THE SERIAL INTERFACE
bullet_jaune_2 ISDN basics
bullet_jaune_2 NMSI vs TDM
bullet_jaune_2 SIRAM initialization to support ISDN frames
bullet_jaune_2 Transmit and Receive clock selection from the bank of clocks
bullet_jaune_2 Buffer Descriptor rings allocation
bullet_jaune_2 Buffer chaining
bullet_jaune_2 Transmit and receive interrupts
THE SERIAL MANAGEMENT CONTROLLERS
bullet_jaune_2 Supported protocols : transparent, UART and auxiliary ISDN channel
bullet_jaune_2 SMC in UART mode
bullet_jaune_2 SMC restrictions compared to SCC
bullet_jaune_2 Initialization sequence : registers, Parameter RAM, Buffer Descriptors
THE SERIAL COMMUNICATION CONTROLLERS
bullet_jaune_2 The DPLLs : clock recovery
bullet_jaune_2 UART on SCC
bullet_jaune_2 HDLC on SCC
bullet_jaune_2 Ethernet on SCC : 7-wire interface with the transceiver
bullet_jaune_2 Hash table restrictions
bullet_jaune_2 External CAM connection
THE SPI CONTROLLER
bullet_jaune_2 SPI protocol
bullet_jaune_2 Clock polarity and phase selection
bullet_jaune_2 Transmit and receive sequences
THE I2C CONTROLLER
bullet_jaune_2 I2C basics
bullet_jaune_2 Upload of SDRAM parameters located in a DIMM serial EEPROM
bullet_jaune_2 Read and Write sequences
THE USB CONTROLLER
bullet_jaune_2 USB protocol basics
bullet_jaune_2 MPC885 USB controller features
bullet_jaune_2 Hardware interface
bullet_jaune_2 Architecture
bullet_jaune_2 Programming model
bullet_jaune_2 Read and Write sequences
bullet_jaune_2 Initialization sequence
THE FAST ETHERNET CONTROLLER
bullet_jaune_2 CPM independence
bullet_jaune_2 MII pinout
bullet_jaune_2 7-wire vs MII transceiver connection
bullet_jaune_2 Buffer descriptor description
bullet_jaune_2 Initialization sequence
THE MULTI CHANNEL CONTROLLER
bullet_jaune_2 Logic channel vs time slot
bullet_jaune_2 The time slot assignment tables
bullet_jaune_2 Logic channel processing
bullet_jaune_2 Interrupt queues
bullet_jaune_2 Parameterizing the interface to the framer
THE SECURITY ENGINE
bullet_jaune_2 Encryption basics
bullet_jaune_2 SEC features
bullet_jaune_2 Memory mapping and programming interface
bullet_jaune_2 Crypto channel management
bullet_jaune_2 Master/Slave interface module description
bullet_jaune_2 Initialization sequence
THE DEBUG PORT
bullet_jaune_2 BDM features : watchpoints and breakpoint
bullet_jaune_2 Programming interface
bullet_jaune_2 BDM restrictions
bullet_jaune_2 Real time trace solution