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 > MPC837XE implementation

FPQA MPC837XE implementation

This course covers PowerQUICC II Pro MPC837XE

Objectives
bullet_jaune_1 The course focuses on the internal interconnect architecture, based on the 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 MPC837X.
bullet_jaune_1 A long introduction to DDR SDRAM operation is done before studying the DDR2 SDRAM controller.
bullet_jaune_1 An in-depth description of the PCI controller is performed.
bullet_jaune_1 The course highlights both hardware and software implementation of gigabit / fast / Ethernet controllers and the parameterizing of the level 2, 3 and 4 acceleration mechanisms.
bullet_jaune_1 The USB interface is also detailed.
bullet_jaune_1 The course explains how to initialise both the Serdes block and the SATA controller to detect and communicate with an external hard disk.
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 SATA 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-X, see our course reference IC3
bullet_jaune_3 PCI Express, see our course reference IC4
bullet_jaune_3 Gigabit Ethernet, see our course reference N1
bullet_jaune_3 USB 2.0, see our course reference IP2
bullet_jaune_3 S-ATA, see our course reference IS3

Plan
INTRODUCTION TO MPC837X
Overview
bullet_jaune_2 General features
bullet_jaune_2 Enhancements compared to MPC834X
bullet_jaune_2 Memory map
bullet_jaune_2 Block diagram : characteristics of each of the 3 internal modules e300 core, Platform and peripherals
bullet_jaune_2 Features of the MPC8377E, MPC8378E and MPC8279E
bullet_jaune_2 Application examples
THE e300 CORE
THE INSTRUCTION PIPELINE
bullet_jaune_2 Pipeline
bullet_jaune_2 Branch processing unit
bullet_jaune_2 Branch instructions
DATA PATHS
bullet_jaune_2 Load / store architecture
bullet_jaune_2 Load / store buffers
bullet_jaune_2 Sync and eieio instructions
CACHES
bullet_jaune_2 Cache basics
bullet_jaune_2 Cache locking
bullet_jaune_2 L1 caches
bullet_jaune_2 Shared resource management, lwarx and stwcx. instructions
bullet_jaune_2 Cache coherency mechanism, snooping, related signals
bullet_jaune_2 Management of cache enabled pages shared with PCI DMAs
bullet_jaune_2 Cache related instructions
SOFTWARE IMPLEMENTATION
bullet_jaune_2 e300 registers
bullet_jaune_2 addressing modes, load / store instructions
bullet_jaune_2 Integer 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 Introduction to real, block and segmentation / pagination translations
bullet_jaune_2 Real mode restrictions
bullet_jaune_2 Memory attributes and access rights definition
bullet_jaune_2 Virtual space benefit, page protection through segmentation
bullet_jaune_2 TLBs organization, related instructions, MMU initialization routine
bullet_jaune_2 Segmentation : process ID definition
bullet_jaune_2 Pagination : PTE table organization, tablesearch algorithm
bullet_jaune_2 MMU implementation in real-time sensitive applications
THE EXCEPTION MECHANISM
bullet_jaune_2 Save / restore registers
bullet_jaune_2 Exception management mechanism
bullet_jaune_2 RI bit use in non-maskable interrupt handlers
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 Real time trace requirements
bullet_jaune_2 Hardware breakpoints
bullet_jaune_2 Performance monitor
THE PLATFORM CONFIGURATION
POWER, RESET AND CLOCKING
bullet_jaune_2 Power management control
bullet_jaune_2 Reset causes
bullet_jaune_2 Configuration signals sampled at reset
bullet_jaune_2 Reset configuration words source
bullet_jaune_2 Boot from SPI
bullet_jaune_2 Utilization of the I2C boot sequencer
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
THE DDR2 MEMORY CONTROLLER
bullet_jaune_2 DDR-SDRAM operation
bullet_jaune_2 Jedec specification basics, mode register initialization, bank selection and precharge
bullet_jaune_2 Differences between DDR1 and DDR2
bullet_jaune_2 Command truth table
bullet_jaune_2 ECC error correction
bullet_jaune_2 Initial configuration following Power-on-Reset
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 Burst support
bullet_jaune_2 Dynamic bus sizing
bullet_jaune_2 GPCM, UPMs states machines
bullet_jaune_2 NAND flash controller
PCI BUS INTERFACES
bullet_jaune_2 Bridge features
bullet_jaune_2 Data flows : Read prefetch and write posting FIFOs
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
PCI EXPRESS INTERFACE
bullet_jaune_2 Implementation of a unique VC
bullet_jaune_2 Selectable operation as agent or root complex
bullet_jaune_2 Address translation
bullet_jaune_2 Error management
bullet_jaune_2 Power management
INTEGRATED DMA CONTROLLER
bullet_jaune_2 Priority between the 4 channels
bullet_jaune_2 Support for cascading descriptor chains
bullet_jaune_2 Selectable hardware enforced coherency
bullet_jaune_2 Concurrent execution across multiple channels with programmable bandwidth control
bullet_jaune_2 Messaging unit
INTEGRATED PROGRAMMABLE INTERRUPT CONTROLLER
bullet_jaune_2 Definition of interrupt priorities
bullet_jaune_2 System critical interrupt
bullet_jaune_2 Interrupt management, vector register
bullet_jaune_2 Requirements to support nesting
bullet_jaune_2 Machine check interrupts
INTEGRATED PERIPHERALS
ENHANCED SECURE DEVICE HOST CONTROLLER
bullet_jaune_2 Introduction to MMC and SD card
bullet_jaune_2 Storing and executing commands targeting the external card
bullet_jaune_2 Multi-block transfers
bullet_jaune_2 Moving data by using the dedicated DMA controller
bullet_jaune_2 Read transfer sequence
bullet_jaune_2 Write transfer sequence
bullet_jaune_2 Dividing large data transfers
bullet_jaune_2 Card insertion and removal detection
SECURITY ENGINE
bullet_jaune_2 Overview of the encryption mechanism
bullet_jaune_2 Introduction to DES, 3DES and AES algorithms
bullet_jaune_2 Data packet descriptors
bullet_jaune_2 Crypto channels
bullet_jaune_2 Link tables
THE ETHERNET CONTROLLERS
bullet_jaune_2 MAC address recognition, 256-entry hash table for unicast and multicast
bullet_jaune_2 Interface with the PHY, RGMII, RTBI or SGMII
bullet_jaune_2 Buffer descriptors management
bullet_jaune_2 Flow control
bullet_jaune_2 Level 2, 3 and 4 hardware acceleration mechanisms
bullet_jaune_2 Quality of service support
SATA CONTROLLER
bullet_jaune_2 SATA basics
bullet_jaune_2 2 ports compliant with SATA 2.5, 1.5 and 3 Gbps operation
bullet_jaune_2 Electrical specification
bullet_jaune_2 Bringing the SATA controller online/offline
bullet_jaune_2 Native command queuing, command descriptor
bullet_jaune_2 Interrupt coalescing
bullet_jaune_2 Initialization steps
THE USB 2.0 CONTROLLER
bullet_jaune_2 Dual-role (DR) operation
bullet_jaune_2 EHCI implementation
bullet_jaune_2 Periodic Frame List
bullet_jaune_2 UTMI / ULPI interfaces to the transceiver
bullet_jaune_2 OTG support
bullet_jaune_2 Endpoints configuration
LOW SPEED PERIPHERALS
bullet_jaune_2 Description of the NS €50/16550 compliant Uarts
bullet_jaune_2 I2C protocol fundamentals
bullet_jaune_2 Transmit and receive sequence
bullet_jaune_2 SPI protocol basics
bullet_jaune_2 Master vs slave operation
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