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

FPQ8 MPC834X implementation

This course covers PowerQUICC II Pro MPC834X processors, such as MPC8349A

Objectives
bullet_jaune_1 The course focuses on the sequencer that interconnects e300, DDR SDRAM, PCI and external 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 MPC834X.
bullet_jaune_1 A long introduction to DDR SDRAM operation is done before studying the DDR SDRAM controller.
bullet_jaune_1 An in-depth description of the PCI controllers is performed.
bullet_jaune_1 The course highlights both hardware and software implementation of gigabit / fast / Ethernet controllers.
bullet_jaune_1 The USB interfaces are 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 avionics 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 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

Plan
INTRODUCTION TO MPC834X
OVERVIEW
bullet_jaune_2 General features
bullet_jaune_2 Enhancements compared to MPC824X
bullet_jaune_2 Block diagram
bullet_jaune_2 Features of the MPC8343E, MPC8347E, MPC8349E and MPC8349EA
THE e300 CORE
THE INSTRUCTION PIPELINE
bullet_jaune_2 Pipeline basics
bullet_jaune_2 Branch processing unit
bullet_jaune_2 Branch instructions
bullet_jaune_2 Simplified branch mnemonics
DATA PATHS
bullet_jaune_2 Load / store buffers
bullet_jaune_2 Sync and eieio instruction
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 Reservation coherency
bullet_jaune_2 Cache related instructions
bullet_jaune_2 Software enforced cache coherency
bullet_jaune_2 Cache flush routine
SOFTWARE IMPLEMENTATION
bullet_jaune_2 PowerPC architecture specification, the 3 books UISA, VEA and OEA
bullet_jaune_2 e300 registers
bullet_jaune_2 Addressing modes, load / store instructions
bullet_jaune_2 Integer instructions
bullet_jaune_2 Rotate instructions : inserting and extracting bitfields
bullet_jaune_2 IEEE754 basics, floating points numbers encoding
bullet_jaune_2 The PowerPC EABI
THE MMU
bullet_jaune_2 Thread vs process
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
bullet_jaune_2 Pagination : PTE table organization, tablesearch algorithm
bullet_jaune_2 Explanation of hash value and API field
bullet_jaune_2 MMU implementation in real-time sensitive applications
THE EXCEPTION MECHANISM
bullet_jaune_2 MSR, SPRG0-3, DAR and DSISR supervisor registers description
bullet_jaune_2 Save / restore registers SRR0/SRR1, rfi instruction
bullet_jaune_2 Exception management mechanism
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 Code instrumentation
bullet_jaune_2 Hardware breakpoints
THE PLATFORM CONFIGURATION
POWER, RESET AND CLOCKING
bullet_jaune_2 DC and AC electrical characteristics
bullet_jaune_2 Power management control
bullet_jaune_2 Reset causes
bullet_jaune_2 Reset configuration words source, boot from I2C or boot from EEPROM
bullet_jaune_2 PCI Host / Agent configuration, PCI1 and PCI2 arbiter configuration
bullet_jaune_2 Clocking in PCI Host mode
bullet_jaune_2 External clock inputs
bullet_jaune_2 System PLL ratio
bullet_jaune_2 Delay Locked Loop
ADDRESS TRANSLATION AND MAPPING
bullet_jaune_2 Local memory map
bullet_jaune_2 Local access windows
bullet_jaune_2 Inbound and outbound windows definition
ARBITER AND BUS MONITOR
bullet_jaune_2 External signal description
bullet_jaune_2 PCI outbound window definition
bullet_jaune_2 Transaction forwarding
SEQUENCER
bullet_jaune_2 Coherent system bus overview
bullet_jaune_2 Bus error detection
bullet_jaune_2 Initialization sequence
GENERAL PURPOSE INPUTS / OUTPUTS
bullet_jaune_2 Pin model
bullet_jaune_2 Direction definition
bullet_jaune_2 Interrupt inputs
THE DDR MEMORY CONTROLLER
bullet_jaune_2 DDR-SDRAM operation
bullet_jaune_2 Jedec specification basics, mode register initialization, bank selection and precharge
bullet_jaune_2 Hardware interface
bullet_jaune_2 Bank activation, read, write and precharge timing diagrams, page mode
bullet_jaune_2 ECC error correction
bullet_jaune_2 DDR-SDRAM controller introduction
bullet_jaune_2 Initial configuration following Power-on-Reset
bullet_jaune_2 Address decode
bullet_jaune_2 Timing parameters programming
bullet_jaune_2 Initialization routine
LOCAL BUS CONTROLLER
bullet_jaune_2 Multiplexed 32-bit address and data transfers
bullet_jaune_2 Burst support
bullet_jaune_2 Dynamic bus sizing
bullet_jaune_2 GPCM, UPMs and NFC states machines
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 in both modes
bullet_jaune_2 PCI bus arbitration
bullet_jaune_2 PCI hierarchy configuration
INTEGRATED DMA CONTROLLER
bullet_jaune_2 Priority between the 4 channels
bullet_jaune_2 Support for cascading descriptor chains
bullet_jaune_2 Scatter / gathering
bullet_jaune_2 Selectable hardware enforced coherency
bullet_jaune_2 Concurrent execution across multiple channels with programmable bandwidth control
bullet_jaune_2 Messaging unit
bullet_jaune_2 Doorbells management
INTEGRATED PROGRAMMABLE INTERRUPT CONTROLLER
bullet_jaune_2 Interrupt masking
bullet_jaune_2 Definition of interrupt priorities
bullet_jaune_2 Interrupt management, vector register
bullet_jaune_2 Requirements to support nesting
bullet_jaune_2 Machine check interrupts
TIMERS
bullet_jaune_2 Software watchdog timer
bullet_jaune_2 Real time clock module
bullet_jaune_2 Periodic Interval Timer
bullet_jaune_2 General Purpose Timers, cascaded modes, capture operation
INTEGRATED PERIPHERALS
SECURITY ENGINE
bullet_jaune_2 Introduction to DES and 3DES algorithms
bullet_jaune_2 Data packet descriptors
bullet_jaune_2 Crypto channels
bullet_jaune_2 Link tables
THE ETHERNET CONTROLLERS
bullet_jaune_2 802.3 specification fundamentals
bullet_jaune_2 Address recognition, pattern matching
bullet_jaune_2 MII interface
bullet_jaune_2 Buffer descriptors management
bullet_jaune_2 The three-speed Ethernet controllers (TSECs)
bullet_jaune_2 Physical interfaces : GMII, MII, TBI or RGMII
bullet_jaune_2 Buffer descriptor management
bullet_jaune_2 Layer 2 acceleration accept or reject on address or pattern match
bullet_jaune_2 256-entry hash table for unicast and multicast
THE USB 2.0 CONTROLLERS
bullet_jaune_2 Multi-port host (MPH) and dual-role (DR) module
bullet_jaune_2 EHCI implementation
bullet_jaune_2 UTMI / ULPI interfaces to the transceiver
bullet_jaune_2 OTG support
bullet_jaune_2 Dedicated DMA channels
bullet_jaune_2 Endpoints configuration
bullet_jaune_2 Queue Element transfer descriptor
bullet_jaune_2 Management of isochronous pipes
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 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