View the site in Français View the site in English (USA) Site displayed in English (GB)
You are here: ac6 > ac6-formation > Freescale Power CPUs > MPC8360E implementation

FPQ9 MPC8360E implementation

This course covers PowerQUICC II Pro MPC8360E

Objectives
bullet_jaune_1 The course explains how to optimize the internal traffics flowing through the interconnect CSB bus.
bullet_jaune_1 Cache coherency protocol is introduced in increasing depth.
bullet_jaune_1 The 32-bit e300 core is viewed in detail, especially the MMU and the cache.
bullet_jaune_1 The boot sequence and the clocking are explained.
bullet_jaune_1 The course focuses on hardware implementation of the MPC8360E.
bullet_jaune_1 A long introduction to DDR SDRAM operation is done before studying the DDR2 SDRAM controllers.
bullet_jaune_1 An in-depth description of the PCI controller is performed.
bullet_jaune_1 Two controllers present in the QuiccEngine are particularly studied : Ethernet on UCC and multi-channel, and the course explains how to implement an inter-working between TDM lines and Ethernet.
bullet_jaune_1 The course highlights both hardware and software implementation of gigabit / fast / Ethernet controllers.
bullet_jaune_1 The USB controller is also detailed.
bullet_jaune_1 Generation of a Linux image and Root File System by using LTIB can also be included into the training.

bullet_jaune_1 This course has been delivered several times to companies developing telecom infrastructure equipments.
A lot of programming examples have been developed by ACSYS to explain the boot sequence and the operation of complex peripherals, such as USB and Ethernet.

  •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 knowledge of the following interconnect standards may be required:
bullet_jaune_3 PCI, see our course reference IC1
bullet_jaune_3 Gigabit Ethernet, see our course reference N1
bullet_jaune_3 USB 2.0, see our course reference IP2

Outline
INTRODUCTION TO MPC8360E
Overview
bullet_jaune_2 Highlighting data paths inside the MPC8360E
bullet_jaune_2 Block diagram : characteristics of each of the 3 internal modules e300 core, Platform, QuiccEngine
bullet_jaune_2 Software migration from MPC82XX/MPC85XX families
THE e300 CORE
THE INSTRUCTION PIPELINE
bullet_jaune_2 e300 pipeline
bullet_jaune_2 Branch processing unit
bullet_jaune_2 Coding guidelines
DATA PATHS
bullet_jaune_2 Load / store buffers
bullet_jaune_2 Sync and eieio instructions
bullet_jaune_2 Store gathering mechanism
CACHES
bullet_jaune_2 Cache basics
bullet_jaune_2 Cache locking
bullet_jaune_2 L1 caches
bullet_jaune_2 Cache coherency mechanism
bullet_jaune_2 The MEI state machine
bullet_jaune_2 Management of cache enabled pages shared with PCI DMAs
bullet_jaune_2 Software enforced cache coherency
bullet_jaune_2 Cache flush routine
SOFTWARE IMPLEMENTATION
bullet_jaune_2 e300 registers
bullet_jaune_2 Addressing modes, load / store instructions
bullet_jaune_2 IEEE754 basics, floating points numbers encoding
bullet_jaune_2 Floating point load / store instructions
bullet_jaune_2 Floating point arithmetical instructions
bullet_jaune_2 The PowerPC EABI
bullet_jaune_2 Linking an application with Diab Data, parameterizing the linker command file
THE MMU
bullet_jaune_2 Thread vs process
bullet_jaune_2 Real mode restrictions
bullet_jaune_2 Memory attributes and access rights definition
bullet_jaune_2 Virtual space benefit
bullet_jaune_2 TLBs organization
bullet_jaune_2 Segment-translation
bullet_jaune_2 Page-translation
bullet_jaune_2 MMU implementation in real-time sensitive applications
THE EXCEPTION MECHANISM
bullet_jaune_2 Exception management mechanism
bullet_jaune_2 Registers updating according to the exception cause
bullet_jaune_2 Requirements to allow exception nesting
THE DEBUG PORT
bullet_jaune_2 JTAG emulation, restrictions
bullet_jaune_2 Hardware breakpoints
bullet_jaune_2 Performance monitor
THE PLATFORM CONFIGURATION
POWER, RESET AND CLOCKING
bullet_jaune_2 DC and AC electrical characteristics
bullet_jaune_2 Configuration signals sampled at reset
bullet_jaune_2 Reset configuration words source
bullet_jaune_2 Utilization of the I2C boot sequencer
bullet_jaune_2 PCI Host / Agent configuration
bullet_jaune_2 Boot memory space
bullet_jaune_2 Clocking in PCI Host mode, system clock domains
bullet_jaune_2 External clock inputs
PLATFORM CONFIGURATION
bullet_jaune_2 Address translation and mapping
bullet_jaune_2 Arbiter and bus monitor
bullet_jaune_2 General purpose inputs / outputs
bullet_jaune_2 Timers
bullet_jaune_2 Dynamic power management
THE DDR2 MEMORY CONTROLLER
bullet_jaune_2 Jedec specification basics
bullet_jaune_2 On-Die termination and calibration
bullet_jaune_2 Differences between DDR1 and DDR2
bullet_jaune_2 Command truth table
bullet_jaune_2 Hardware interface
bullet_jaune_2 ECC error correction
bullet_jaune_2 DDR-SDRAM controller overview
bullet_jaune_2 Address decode
bullet_jaune_2 Timing parameters programming
bullet_jaune_2 Initialization routine
LOCAL BUS CONTROLLER
bullet_jaune_2 Multiplexed or non-multiplexed address and data buses
bullet_jaune_2 Dynamic bus sizing
bullet_jaune_2 GPCM, UPMs states machines
PCI BUS INTERFACES
bullet_jaune_2 Bridge features
bullet_jaune_2 Data flows
bullet_jaune_2 Inbound transactions handling, Outbound transactions handling
bullet_jaune_2 PCI bus arbitration
bullet_jaune_2 PCI hierarchy configuration when operating as host
INTEGRATED DMA CONTROLLER
bullet_jaune_2 Priority between the 4 channels
bullet_jaune_2 Scatter / gathering
bullet_jaune_2 Concurrent execution across multiple channels
bullet_jaune_2 Messaging unit
INTEGRATED PROGRAMMABLE INTERRUPT CONTROLLER
bullet_jaune_2 Interrupt sources
bullet_jaune_2 Definition of interrupt priorities
bullet_jaune_2 System critical interrupt
bullet_jaune_2 Requirements to support nesting
SECURITY ENGINE
bullet_jaune_2 Overview of the encryption mechanism
bullet_jaune_2 Introduction to DES, 3DES and AES algorithms
bullet_jaune_2 Crypto channels
bullet_jaune_2 Snooping by caches
bullet_jaune_2 Implementation of IPSEC
LOW SPEED PERIPHERALS
bullet_jaune_2 Description of the NS€50/16550 compliant Uarts
bullet_jaune_2 FIFO mode
bullet_jaune_2 Flow control signal management
bullet_jaune_2 I2C protocol fundamentals
bullet_jaune_2 Transfer timing diagrams, SCL and SDA pins
bullet_jaune_2 Transmit and receive sequence
QUICC ENGINE
SYSTEM INTERFACE AND CONNECTION TO EXTERNAL COMMUNICATION PORTS
bullet_jaune_2 Serial DMA
bullet_jaune_2 QUICC engine external requests
bullet_jaune_2 Multi-threading
bullet_jaune_2 NMSI vs TDM
bullet_jaune_2 CMX registers
bullet_jaune_2 Baud-rate generators
BUFFER MANAGEMENT
bullet_jaune_2 Utilization of Buffer Descriptors
bullet_jaune_2 Chaining descriptors into rings
bullet_jaune_2 Frame boundary definition
bullet_jaune_2 Interrupt management
SERIAL PERIPHERAL INTERFACE
bullet_jaune_2 Introduction to SPI protocol
bullet_jaune_2 SPI modes of operation in QUICC engine mode
bullet_jaune_2 Transmit and receive sequence
UNIFIED COMMUNICATION CONTROLLERS
bullet_jaune_2 UCC feature set
bullet_jaune_2 Handling UCC interrupts
bullet_jaune_2 Initialization sequence
bullet_jaune_2 UCC as slow communications controllers, UART mode
bullet_jaune_2 UCC for fast protocols, virtual FIFOs
UCC ETHERNET CONTROLLER
bullet_jaune_2 Physical interfaces to transceiver
bullet_jaune_2 Auto-negotiation
bullet_jaune_2 Termination and interworking modes of operation
bullet_jaune_2 IP header checksum
bullet_jaune_2 Frame filtering and address recognition
bullet_jaune_2 Header parsing
bullet_jaune_2 Quality of Service
bullet_jaune_2 Ethernet scheduler, traffic shaper
bullet_jaune_2 BD and Parameter RAM description
bullet_jaune_2 Ethernet statistics, MIB
IEEE1588 ASSIST
bullet_jaune_2 Overview of the IEEE1588 standard
bullet_jaune_2 Timestamp unit key features
bullet_jaune_2 How QuiccEngine and host software interact
bullet_jaune_2 PTP frame reception
bullet_jaune_2 PTP frame transmission
MULTI-CHANNEL CONTROLLER
bullet_jaune_2 Comparison with MPC82XX CPM MCC
bullet_jaune_2 Channel-specific HDLC parameters
bullet_jaune_2 Channel extra parameters
bullet_jaune_2 MCC exceptions
bullet_jaune_2 MCC host commands
QUICC MULTI-CHANNEL CONTROLLER
bullet_jaune_2 QMC and serial interface
bullet_jaune_2 UCC Base and Global multichannel parameters
bullet_jaune_2 Channel-specific HDLC parameters
bullet_jaune_2 QMC exceptions
bullet_jaune_2 QMC host commands
USB
bullet_jaune_2 Host controller limitations
bullet_jaune_2 Endpoint parameters block pointer
bullet_jaune_2 Frame number
bullet_jaune_2 USB BD ring
bullet_jaune_2 Host commands
Linux Target Image Builder (LTIB)
GENERATING THE LINUX KERNEL IMAGE
bullet_jaune_2 Introducing the tools required to generate the kernel image
bullet_jaune_2 What is required on the host before installing LTIB
bullet_jaune_2 Common package selection screen
bullet_jaune_2 Common target system configuration screen
bullet_jaune_2 Building a complete BSP with the default configurations
bullet_jaune_2 Creating a Root Filesystems image
bullet_jaune_2 e-configuring the kernel under LTIB
bullet_jaune_2 Selecting user-space packages
bullet_jaune_2 Setup the bootloader arguments to use the exported RFS
bullet_jaune_2 Debugging Uboot and the kernel by using Trace32
bullet_jaune_2 Command line options
bullet_jaune_2 Adding a new package
bullet_jaune_2 Other deployment methods
bullet_jaune_2 Creating a new package and integrating it into LTIB
bullet_jaune_3 A lot of labs have been created to explain the usage of LTIB