View the site in Français Site displayed in English (USA) View the site in English (GB)
You are here: ac6 > ac6-formation > Freescale ARM CPUs > i.MX31 implementation + LTIB

FA2 i.MX31 implementation + LTIB

This course describes the i.MX31 multimedia processor and Linux Target Image Builder tool

Objectives
bullet_jaune_1 The course details the hardware implementation of the i.MX31 microcontroller.
bullet_jaune_1 The boot sequence and the clocking are explained.
bullet_jaune_1 The course explains all parameters that affect the performance of the system in order to easily perform the final tuning.
bullet_jaune_1 A description of all internal peripherals is provided.
bullet_jaune_1 An overview of the ARM1136 core helps to understand issues caused by cache and MMU.
bullet_jaune_1 The course ends with practical labs explaining how to generate a Linux image as well as a Root File System, by using a tool called LTIB [Linux Target Image Builder].

bullet_jaune_1 Products and services offered by ACSYS:
bullet_jaune_2 ACSYS has developed FFTs (floating-point and fixed-point) optimized for ARM cores, based on SIMD instructions supported by the ARM1136.
bullet_jaune_2 Contact guillaume.peron@ac6.fr to obtain informations about the performance of these FFTs.
bullet_jaune_2 ACSYS is able to assist the customer by providing consultancies. Typical expertises are done during board bringup, hardware schematics review, software debugging, performance tuning.
bullet_jaune_2 ACSYS has also an expertise in programming the SDMA, a simple OS-agnostic driver has been developed to explain how to manage scripts.

This course has been delivered several times to companies developing multimedia equipments.
Program examples have been developed by ACSYS to explain the boot sequence and the operation of complex peripherals.

  •They are compiled by the GNU compiler and are executed under Lauterbach debugger.

  •A host desktop running Linux is used to generate Linux image and Root File System during labs on LTIB.
A more detailed course description is available on request at info@ac6-training.com

Related courses

Course IP2 - USB2Course IS2 - Memory CardCourse R2 - ARM11 implementationCourse D1L - Freescale Embedded Linux with LTIB
Prerequisites
bullet_jaune_2 Knowledge of ARM1136JF-S is recommended, see our course reference R2.
bullet_jaune_2 Knowledge of USB is recommended, see our course reference IP2
bullet_jaune_2 ACSYS also offer a large set of courses on Linux.

Outline
ARCHITECTURE OF i.MX31
Overview
bullet_jaune_2 Clarifying the internal data paths : AHB bus, peripheral buses
bullet_jaune_2 Highlighting the purpose of the 2 central interconnect units : MAX and M3IF
bullet_jaune_2 Organization of a board based on i.MX31
ARM11 PLATFORM
THE ARM1136JF-S CORE
bullet_jaune_2 Presentation of the core, architecture and programming model
bullet_jaune_2 Operating modes : user, system, super, IRQ, FIQ, undef and abort
bullet_jaune_2 ARM vs Thumb instruction sets, interworking
bullet_jaune_2 Branch instructions, implementation of C call and return statements
bullet_jaune_2 Level1 cache operation
bullet_jaune_2 Memory management unit
bullet_jaune_2 C-to-Assembly interface
bullet_jaune_2 Exception mechanism, handler table
bullet_jaune_2 Debug facilities
THE ARM11 PLATFORM
bullet_jaune_2 MAX parameterizing
bullet_jaune_2 ARM Vector Interrupt Controller
bullet_jaune_2 Level 2 cache operation
HARDWARE IMPLEMENTATION
RESET AND CLOCKING
bullet_jaune_2 Clock distribution
bullet_jaune_2 PLL output frequency calculation
bullet_jaune_2 Power-up sequence
bullet_jaune_2 Low power modes, clock gating
bullet_jaune_2 Global reset vs warm reset
bullet_jaune_2 System boot mode selection
SYSTEM CONTROL
bullet_jaune_2 GPIO module
bullet_jaune_2 General Purpose Input interrupt request capability
bullet_jaune_2 Signal description
ACCESSING EXTERNAL MEMORIES
bullet_jaune_2 Description of the Master Arbitration and Buffering [MAB] unit
bullet_jaune_2 Description of the M3IF arbitration [M3A]
bullet_jaune_2 Introduction to DDR SDRAM
bullet_jaune_2 Enhanced DDR SDRAM controller
bullet_jaune_2 NAND flash controller, boot from flash
STANDARD PARALLEL INTERFACES
bullet_jaune_2 ATA controller
bullet_jaune_2 MSHC
bullet_jaune_2 SDHC
MULTIMEDIA UNITS
SMART DMA CONTROLLER
bullet_jaune_2 Scheduler
bullet_jaune_2 CRC calculation unit
bullet_jaune_2 SDMA initialisation
bullet_jaune_2 Instruction description
VIDEO PROCESSING UNITS
bullet_jaune_2 Video acquisition
bullet_jaune_2 MPEG4 encoder
bullet_jaune_2 Image Processing Unit
bullet_jaune_2 Graphics accelerator
AUDIO RELATED INTERFACES
bullet_jaune_2 SSI interfaces
bullet_jaune_2 Digital audio multiplexor
COMMUNICATION CONTROLLERS
bullet_jaune_2 1-wire interface
bullet_jaune_2 Configurable SPI
bullet_jaune_2 I2C interfaces
bullet_jaune_2 UART
bullet_jaune_2 USB
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 Re-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