on Freescale website

on Freescale website

August, 2010

Demo of Freescale's i.MX51 Linux

®

Package

(Part 2)

ENT-F0951

John Li & Maggie Jiang

Field Applications Engineer

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Session Objectives

► Expectations:

Locate important files and documentation

Understand tools Freescale offers for i.MX processors

Learn about Bootloaders and customization

Setup and deploy a Linux system to i.MX

Take advantage of Multimedia Acceleration

Learn about Ubuntu and Android on i.MX

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

1.

2.

3.

Introduction

Downloads/Files from Web

MCIMX51EVK Overview/Capabilities

4.

5.

Linux Host Setup

Tools

6.

7.

8.

Bootloaders

Building and Deploying Linux Using LTIB

Gstreamer for Multimedia

GPU SDK

Ubuntu on Target

(If Time Allows)

9.

10.

Android on Target

Questions?

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

Agenda

TM

► MCIMX51EVKJ

• Connected to DVI monitor

Vmware Player (Free) running in

Windows

UBUNTU 10.04 Image with

Freescale iMX L2.6.31_10.07.11

SDK Installed

Serial connected to Laptop

@115200

Ethernet between laptop and i.MX51 (Auto MDIX)

4GB SD CARD

SDHC Card Reader

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

System Setup

TM

i.MX51 Evaluation Kit (EVK)

– $699 Resale

Single Board Development Platform

– Price, Performance, Personality

► i.MX51 Applications Processor

(529 BGA)

4 x 128MB DDR2

4MB SPI NOR

PMIC

– Atlas APL

(MC13892JV or MC13892JVL)

NAND and EIM Header

i.MX51 Evaluation Kit Features

Debug Serial Port

JTAG

Reset, boot switches

Debug LED

Power Source

Power on/off button

Power Measurement Header

7” WVGA Touchscreen LCD Display (add-on module)

Expansion board (add-on module)

2 LVDS connectors

DVI-I connector

2 SD/MMC Card Slots

USB Host x2/USB OTG x1

Ethernet Port

Mini PCIe

SATA HDD connector

SIM Card connector

Keyboard connector

Mic input, stereo headphone output (jack),

V2IP Headphone

Speaker connector

USB Camera connector

PS-2 TP connector

RGB output through DVI-I connector

Expansion Header

Ambient light sensor footprint

FM receiver footprint

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

MCIMX51EVKJ Features

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

MCIMX51EVKJ Features

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

► Running Ubuntu 10.04

Username = vmuser

Password = vmuser

► Image Created using Vmplayer (Free) 3.0.1

► Running under Vmware Player (Free) 3.0.1

Have “Vmware-Tools” installed, which allows dragging and dropping from Windows to Linux as well as shared folders between the two OS‟s

► Development board (i.MX51 EVK) connected

Directly to Laptop via Ethernet

► i.MX51 EVK connected to DVI monitor

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

Station Setup

TM

Important Files/Downloads

Walkthrough of Freescale‟s i.MX Web

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

9

TM

► http://www.freescale.com/imx

i.MX Web Resource

► Could send information request to: [email protected]

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

10

TM

i.MX51 Information

► http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=IMX51_FAMILY

Android i.MX51EVK

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

11

TM

Freescale Web Resource Enhancement

► For example, click to i.MX515 main page: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX515

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

12

TM

i.MX515 IC Information

► http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX515

Documentation TAG

IC Data Sheet, User Manual etc

Application Notes

BSP User Manual

Software Tools TAG

FSL Tools

FSL BSP

IC IBIS Models etc

Freescale 3 rd

Party Tools Info

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

13

TM

► http://www.freescale.com/imx51evk

i.MX51 EVK [

aka

BBG 3.0]

Documentation TAG

Application Notes

BSP User Manual

Software Tools TAG

WinCE & Linux BSP

EVK Schematics

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

14

TM

The evaluation kit for development

i.MX51 EVK [

aka

BBG 3.0] (cont)

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

15

TM

Linux BSP(1007) on Freescale website

► http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MCIMX51EVKJ& nodeId=0162468rH31143ZrDR633B&fpsp=1&tab=Design_Tools_Tab

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

16

• Ubuntu 9.10 Karmic

Rootfs

• BSP Source Code

• Prebuilt image

• MM Codec Package:

OpenMAX

• MM Codec Package:

Gstreamer (LTIB)

• MM Codec Package:

Gstreamer (Ubuntu)

• Kernel Patch fro TVout

TM

Linux BSP document on Freescale website

► http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MCIMX51EVKJ& nodeId=0162468rH31143ZrDR633B&fpsp=1&tab=Documentation_Tab

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

17

• Doc for MM Codec

Package: OpenMAX

• Doc for MM Codec

Package: Gstreamer

• Doc for BSP

TM

Linux BSP release packages

Source package (

L2.6.31_10.07.11_ER_source_bundle.tar.gz

)

LTIB

► Boot loader sources (redboot & uboot) and toolchain

► Kernel and driver sources (kernel.org code + FSL patches)

User space packages

► Compiler/Linker and friends (GNU ARM, currently 4.1.2 eABI/VFP)

Documentation (L2.6.31_10.07.11_ER_docs.tar.gz)

► BSP release note, user guide and reference manual

► Resolved and Unresolved Defects status

► Feature matrix for each supported chip/HW

Binary Image package (

L2.6.31_10.07.11_ER_images_MX5X.tar.gz

)

► Kernel binary for each supported chip/HW

► Root file system image for each supported chip/HW

► Boot loader binary image for each supported chip/HW

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

18

TM

BSP Naming Nomenclature

► Filename on Web site uses the SDK YY.MM concept

– example SDK

10.07

► Note: Date does not necessarily reflect the LATEST date, just the software development cycle date BEFORE testing.

► BSP Package:

OSVersion_shortCMid_ ReleaseType_ Releasedate

OS version: e.g. L2.6.31

ShortCMid: The CM version of BSP, xx.yy.zz=Year.Month.zz, to differentiate the release month from the version number.

ReleaseType: ER

– Engineering Release

SS

– Snapshot Release

SDK

– SDK Release

L2.6.31_10.07.ER_SDK

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Moral of the Story?

► Good information can be found on

Freescale‟s Web site … if you know where to look.

Find important documents in the MCIMXEVK‟s

Documentation

and

Downloads

tabs.

Also look under the specific iMX51‟s

Documentation

and

Downloads

tabs.

► The website : http://www.freescale.com/imxtools is alive and it could simplify the information search

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

http://www.freescale.com/imxtools

Alive

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

21

TM

Freescale Member Registration for web resource download

1. For first time user, register to Freescale WEB site using this link and press

“Register

Now” https://www.freescale.com/security/public/login.LoginActionController.sp

2. Input your email address and choose your login password and then press

“Next” to continue:

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

22

TM

www.iMXcommunity.org

A Freescale supported open web community of developers sharing common interest in transforming i.MX applications processors into practically anything imaginable. i.MX Community

• Serves all component enablement peripherals including basic to complex software

• i.MX Forums, Groups and Blogs Posts

• News, Photos and Videos

• Training, Events and Promotions

Check it out!

Become a member today and you will be entered to win a i.MX development system of your choice.

Drawing will be held on June 30 th

.

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

23

TM

Freescale Tools

ATK

– Advanced Tool Kit & Manufacturing

Tool

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

24

TM

► ATK

– Advanced Tool Kit

• Mainly used to program flash

Hybrid

Windows/Arm application

Full source is given for both Windows and ARM code

Not a substitute for JTAG tool … but:

• Can assist with board bring-up

Can be used with Diagnostics

Can setup and program:

Nand

Nor

SD

SDRAM

► Flash can be totally blank!

(No bootcode needed)

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

ATK Details

TM

ATK R1.70 on Freescale website

► http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MCIMX51EVKJ& nodeId=0162468rH31143ZrDR633B&fpsp=1&tab=Design_Tools_Tab

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

26

TM

► On Board Rom and E-Fuses are used to

Bootstrap

processor

► Uart or USB is used to transfer data between Host and Target

► On the EVK,

USB/UART

bootstrap mode is accomplished by changing some dip switches

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

How ATK Works

TM

► Dip Switches can substitute for EFUSES but are a

SUBSET of all options

► BOOT_MODE Internal or External boot.

• Today, use

Internal

boot in all cases

► BUS_WIDTH For Nor/Nand, size of data bus. For

SPI, size of Address Word (16- or 24-bit)

► MEM_CTL selects NOR, NAND or Expansion

MEM_TYPE

used in conjunction with

MEM_CTL

to set options such as address cycles for NAND

BT_SRC

Selects SD1 or SD2

SD2 is not powered upon boot by default, booting from TOP card requires MODS

► LID (GPIO for Lid of Laptop Emulation)

► PWR: Very Important

• Used to override the

Soft Power

switch

Useful recommendation

– leave this

ON

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

Dip Switches

S4 S5 S6 S7 S8 S9 S10 S1 S2 S3

SPI Flash

SD/MMC

Uart/USB

Bootstrap

BOOT_

MODE

BUS_

WIDTH

MEM_

TYPE

BT_

SRC

MEM_

CTL

LID PWR

0 0 1 1 1 0 1 1 X 1*

0 0 0 0 0 0 1 1 X 1*

1 1 X X X X X X X 1*

TM

► We are going to need to set the boot switches for next step.

► Please set to following:

1 and 2 ON (UP)

3, 4,5 and 6 OFF (Down)

7 and 8 ON (UP)

9 OFF (Down)

10 ON (UP) *

SPI Flash

SD/MMC

Uart/USB

Bootstrap

S1

S2

BOOT_

MODE

S3

BUS_

WIDT

H

S4 S5 S6

MEM_

TYPE

BT_

SR

C

S7 S8 S9

MEM_

CTL

LID

S10

PW

R

0 0 1 1 1 0 1 1 X 1*

0 0 0 0 0 0 1 1 X 1*

1 1 X X X X X X X 1*

* Note. THIS IS NOT WHAT OUR DOCS SAY!!!!

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

Dip Switches

TM

Program a bootloader to SD card …

Start ATK from

Desktop

and configure as shown.

► Discussion:

Custom Initial File

points to

TXT file which performs initialization of

Memory

► C:\Program

Files\Freescale\AdvancedToolKit-

STD\example\memory_init

► EXAMPLE: Format is

Address in Hex Value Byte Width

0xB8001000 0x82220080 32

0x82000400 0xDA 8

► Selecting the

Default

of

DDR

is for EVK

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

Time to Try ATK

TM

► Select

Flash Tool

, and then

Go

► Image Format option will convert from <-> to different standard file formats

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

ATK Continued

TM

► Setup ATK as shown

► With power

Off

, we

MUST

put board in

UART/USB

BOOTSTRAP

mode. Switches 1 and 2

ON (we did this in prior slides)

► Turn on board and click

Program

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

ATK Continued

TM

► Click

Program

and the term

Development/Disable

appears at the base

► This is the ROM Kernel successfully interacting with target.

► It downloads the RAM

Kernel which does the

Dirty

Work

(Flash programming)

► Hint: During board bring-up, test if the board is

alive

without writing one line of code!

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

ATK … Useful Hints

TM

► Put Dip switches 1 and 2 back to

Off

for

Internal

boot (used in this case to boot from SD)

Testing Programmed Bootloader

Make sure to

close down

ATK

► Fire up

Tera Term

from shortcut on

Desktop

► Turn on

Power.

► Do you see

REDBOOT

? Great!

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

With ATK … the Sky is the Limit

► Full Source Code is available for ATK

For the GUI (Microsoft Visual Studio Based)

For the RAM KERNEL (Compiled with GNU/Cygwin)

► Can customize and add new:

Nor Flash Devices

Nand devices

SPI Devices

► Can turn ATK into a Manufacturing/Diag/Test Tool

► Also can load code DIRECTLY to SDRAM

► Search

AN3985

on

Freescale‟s Web site for more info:

Customizing the Freescale Advanced Toolkit for i.MX Based Platforms

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Manufacturing Tool Fact Sheet

What is the Manufacturing Tool (MfgTool)

Prepare multiple devices in parallel.

Supported Devices

– i.MX23, i.MX25, i.MX35, i.MX51….

Supported OSes

Host

– Windows XP, Windows 7

Firmware - Linux, WinCE

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

36

TM

Manufacturing Tool: Basic Functions

– Host Component

The Mfg Tool host component is an operator friendly GUI interface for the firmware imaging process.

The GUI associates a physical USB port to the firmware imaging operations and provides feedback to the operator.

The Mfg Tool Framework is an architecture that supports:

• Communication with various USB device drivers.

• Loading firmware to ROM device enabling extended ROM functionality or complete application functionality.

• Invoking commands supported by currently executing firmware.

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

37

TM

Manufacturing Tool: Basic Functions

– Firmware Component

The Mfg Tool firmware component enables these basic functions:

• Erasing the media.

• Allocating the media.

• Writing firmware to the media allocation(s).

Additional functionality is important for consumer devices:

• Initializing the file system on the media.

• Preloading content in data area of media

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

38

TM

Manufacturing Tool: Physical Setup and GUI

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

39

TM

Manufacturing Tool 10.07 on Freescale website

► http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MCIMX51EVKJ& nodeId=0162468rH31143ZrDR633B&fpsp=1&tab=Design_Tools_Tab

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

40

TM

Bootloaders

Redboot and U-Boot

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

41

TM

Typical Role of Bootloader

► Provides the first executable code when the board comes out of reset

• In most cases

– not the case on i.MX51EVK

► Initializes the processor and memory

• Not 100% true for EVK

► Initializes additional devices (e.g. Ethernet)

► Provides a command interpreter for configuration

► Loads Linux into memory, passes parameters and transfers execution to the kernel

► Additional Features:

• Supports transfer of images from host to target

Programs flash

Executes additional programs or scripts

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Bootloader

► The bootloader provides early initialization code so the system is able to boot the OS. A typical run cycle for an embedded system bootloader:

Reset

Init critical

Hardware

Load OS

Image

Pass execution and boot args to the OS

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

i.MX Bootloaders

► REDBOOT

– the

Stalwart

Bootloader Freescale uses on i.MX

Supports Flash File System

Supports Ethernet

Manipulation of i.MX locks

Can Blow/Read E-Fuses

Can Read/Write/Erase SPI flash

Can Manipulate PMIC registers (Useful for hardware bring up)

Supports NAND, SD/MMC, Nor

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

i.MX Bootloaders … Redboot

► Bootloader development is

ASYNCRONOUS

with SDK releases

► Unlike U-Boot (coming up next), Redboot is

DECOUPLED

from build environment

Use the ZIP file of Redboot that comes in the SDK_SOURCE download discussed earlier

Now to the redboot_201003.zip package …

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Binary prebuilt images

Documents for How to Build

Source used in building

Compilers and JTAG INIT scripts

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

Redboot Package

TM

Important Files in Redboot

Hal_platform_setup.h in /packages/hal/arm/mx51/babbage/current/

► Although redboot can be built under Windows (using Cygwin) and Linux, a Linux host is recommended since you are already doing Linux development

There will be no additional enhancements moving forward for Redboot. U-boot is now our defacto bootloader.

Still useful features in Redboot such as Fuse Burning

► Can also use Redboot as a Basis to run eCos. eCos is a small POSIX compliant

Real Time Operating system. Stands for Embedded Configurable Operating

System

► See www.ecoscentric.com

for more details.

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Very popular open source bootloader project by Denx. http://www.denx.de/wiki/U-Boot

Support several architectures.

► Mature code, specific areas supported by different maintainers. http://www.denx.de/wiki/U-Boot/Custodians

► Well documented, start by the readme file.

► Getting the source: git://git.denx.de/u-boot or custodian tree.

http://opensource.freescale.com/pub/scm/imx/uboot-imx.git

BEST WAY? From Freescale BSP! (more Later)

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

UBOOT

TM

U-Boot Porting Guide for i.MX51

► http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MCIMX51EVKJ& nodeId=0162468rH31143ZrDR633B&fpsp=1&tab=Design_Tools_Tab

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

49

TM

Working with U-Boot on Ltib

► Freescale provides an U-Boot port for its i.MX development boards.

► After installing LTIB, get U-Boot source:

• Open terminal prompt from Desktop (Special Terminal Prompt!! It Sets

Destination directory to Freescale LTIB for you)

Type:

./ltib

–p u-boot –m prep

► Source be extracted to rpm/BUILD/<respective package checked out>

► What just happened? Extracted Uboot from community, and “Patched”

Freescales changes on top of it.

► View by changing to directory: cd rpm/BUILD/u-boot-2009.08

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Working with U-Boot on Ltib

Workflow would be: (While in ltib directory)

• ./ltib

–p u-boot –m prep (Check out source and Patch)

• Make desired modifications to source

► Now Build It!

• Up arrow (For last ./ltib command history)

You will get ./ltib

–p u-boot –m prep on the command line…..

(Take advantage of the “Free” typing!!)

Change the last line of

–m prep to –m scbuild (Build Source)

Up arrow again / change scbuild to scdeploy (Put u-boot bin in root File System) goes to <ltib_install_dir>/rootfs/boot

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Working with U-Boot on Ltib

Lets Change the “U-boot” Prompt: (make sure your are in LTIB directory)

./ltib

–p u-boot –m prep (We already did this in a prior step don‟t have to do)

Change to rpm/build/u-boot-2009.08 directory, then type: cd include/configs

• gedit mx51_bbg.h

search for “CONFIG_SYS_PROMPT” (Should be "BBG U-Boot > “ )

Change to your liking….and save…..such as:

 #define CONFIG_SYS_PROMPT

“FTF_ROCKS>”

Change back to LTIB directory: cd ../../../

Up arrow 2 times (For last ./ltib command history)

You will get ./ltib

–p u-boot –m prep on the command line…..

Change the last line of

–m prep above to –m scbuild

Up Arrow again, and change scbuild to scdeploy

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Working with U-Boot on Ltib

Lets Program with ATK

Follow same steps we did with

Redboot

– Power down board

– First two switches on EVK up for

USB/UART bootload mode

– Built u-boot.bin ends up in rootfs/boot directory off the LTIB install dir

Click “Link to LTIB” icon on desktop

Doubleclick “rootfs”

Doubleclick “boot”

Drag the u-boot.bin file onto the

Windows Desktop

– Run ATK on DESKTOP and configure like shown

.

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Board Specific Files

– “Board” Directory

► Some files that you should care about:

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Its been mentioned before that the iMX51 doesn‟t follow traditional rules of a bootloader when it comes to init.

It uses something called “DCD” to initialize the part. Flash_header.s

implements this within Uboot

► This is where you would customize for different

Memories!!!

DCD….VERY IMPORTANT!!!

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Board Specific Files -

“include/configs/mx51_bbg.h”

The board configuration file: (Memory Size, Baud Rates, Prompt ETC)

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Code Walkthrough

– Execution Flow 1/2 *

Common code & SoC specific code

Start.S

mxc_nand

_load.S

board.c

generic.c

Board code

– “board” folder

Lowlevel_i nit.S

Mx51_bbg.

c

Setup Stack

start_armboot() arch_cpu_init()

Enable

Cache

* Some calls were omitted for simplicity

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

board_mmu_init() board_init()

TM

board.c

timer_init()

timer.c

serial.c

Code Walkthrough - Execution Flow 2/2

generic.c

mxc_fec.c

main.c

Mx51_bbg.

c

serial_init()

Display

Banner

Env. Var. setup

print_cpuinfo() mxc_fec_initialize() main_loop() checkboard() dram_init() board_mmc_init() board_late_init()

* Some calls were omitted for simplicity

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Code Walkthrough

– The first board specific call

► board\freescale\mx51_bbg\lowlevel_init.S

.globl lowlevel_init lowlevel_init: ldr r0, =GPIO1_BASE_ADDR ldr r1, [r0, #0x0] orr r1, r1, #(1 << 23) str r1, [r0, #0x0] ldr r1, [r0, #0x4] orr r1, r1, #(1 << 23) str r1, [r0, #0x4]

GPIO1_23 controls the ON_OFF signal

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

LTIB

– Linux Target Image Builder

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

60

TM

LTIB

Freescale GNU/Linux Target Builder

is an Open Source tool used to build Linux target images composed of a set of packages.

LTIB has been released under the terms of the

GNU General Public License

(GPL)

LTIB BSPs draw packages from a common pool. Requirements:

1.

2.

3.

4.

5.

6.

7.

Cross compiler

Bootloader sources

Kernel sources

Kernel configuration

Busybox.config file

Top level config file (main.lkc)

BSP config file (defconfig)

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

LTIB (cont)

► LTIB provides a lightweight command line interface to Perl scripts and

LKC-syntax configuration menus to perform the following functions:

Build kernel, boot loader and application packages from source

Deploy built packages to a root file system (RFS)

Prepare appropriate kernel or RFS image file ready for network or flash based use on the embedded target board

Package management, including creation of board/arch specific RPM for installing a package into the RFS and patch generation for package source modifications

► LTIB assumes operation on packages with little change

• If a package requires significant modifications (e.g. when porting a Linux kernel):

Check out the source

Build and test with standard development tools

Reintroduce source code changes, and

Consolidate them as a patch

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

LTIB (cont)

LTIB performs all package configuration, build and installation tasks that normally would take place on a self-hosted Linux platform using build tools and RPM.

However, it does so

on the host machine

!

Conceptually running LTIB means

updating the Root FS

for the target platform including the boot loader and kernel.

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Reference Only!

– Installing and Preparing LTIB

► Install the following packages:

$ sudo apt-get install g++ zlib1g-dev ncurses-dev rpm m4 bison patch tcl

$ sudo apt-get install libgtk2.0-dev libdbus-glib-1-dev liborbit2-dev intltool fbset

The first set of packages install and run LTIB.

The second set successfully builds the Gnome Mobile profile contained in several of the i.MX BSP‟s.

 A bunch of additional packages also will be pulled in.

► Edit the

/etc/sudoers

file to add the following line to the

User Privilege

section: user ALL=NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm

• Edit this file using the

visudo

command:

$ sudo visodu

• Caution: Be careful editing this file as the system can be rendered unusable if

sudoers

files are accidentally moved or deleted.

There is a LTIB host setup guide for Linux Host PC running Ubuntu; which is in:

L2.6.31_10.07.11_ER_docs/ltib_build_host_setup.pdf

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Reference Only!

– Installing and Preparing LTIB

► Get latest BSP from freescale.com/imx51evk (in

Downloads

tab)

• Latest consolidated i.MX BSP is L2.6.31_09.12.00_SDK_source.tar.gz

untar

and

install

:

$ tar zxvf L2.6.31_10.07.11_ER_source.tar.gz

$ cd L2.6.31_10.07.11_ER_source

$ ./install

► From directory where LTIB is installed

$ ./ltib –m config

► At the first

menuconfig

screen, leave the default

Freescale i.MX reference boards

,

Exit

and

Save

► At next

menuconfig

screen, select

i.mx51

and

min profile

,

Exit

and

Save

At next

menuconfig

screen, leave all defaults,

Exit

and

Save

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Linux helping hands

Tab Completion is your friend. Start typing a file name, and hit TAB and it will fill in paths etc

Everything is done in the “home” directory. This is /home/vmuser

If you want to get back to this location quick, type: cd ~

► To learn your current directory, type: pwd

► Its very common to type commands over and over again. The Up Arrow is command history

► You can even search for a command by doing: CTRL-R and start typing the command. It will fill it in!

► If you type: history you will get a list of all typed commands. To execute one, type : !# (Where # is the command number you want to execute)

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Open the

“LTIB_TERMINAL” window on desktop

./ltib

–c

(-c means configure)

► Put an * next to

Always

Rebuild Kernel

,

Configure the Kernel

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

Time to Build

Demo

TM

► Select

Package List

► A Linux system is comprised of two main entities:

• Kernel

File System

► The

Package List

is what produces the

File

System

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

LTIB Power

Demo

TM

► Browse through the package list. Mostly made up of open source packages

You can type “h” when a package is highlighted. It will show more details about that package. Try It

► Please

Select the “hello world” by hitting the spacebar.

► Exit out of this menu

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

Packages

Demo

TM

Proceed with Build

► Continue to select

Exit

and click

Yes

to save configuration

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Onto Kernel Configuration

A bunch of text messages whirls by … and then

Kernel Config

appears

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Exit Kernel Config

► Typical work flow

– Make changes in

Kernel

, then

Exit

► Kernel now builds

LTIB has “Patched” various Freescale developed drivers onto the kernel.org downloaded kernel.

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Other Ltib “Tips”

► Sometimes, it is desired to modify only one package. For example, the bootloader, U-Boot. (we already did this during the u-boot portion) Ltib allows for this with the “prep”, “scbuild” and “scdeploy”

Workflow would be:

• ./ltib

–p u-boot –m prep

(This checks out the source to /ltib/rpm/BUILD )

Make required source changes

./ltib

–p u-boot –m scbuild

(This builds the source)

./ltib

–p u-boot –m scdeploy

(This puts it in the rootfs directoy)

► You can find names of packages with:

./ltib

–m listpkgs

„sc‟ in the above commands stands for “Short Circuit”

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Copying Bootloader, Kernel and Filesystem

Demo

► When Linux finishes building, a Filesystem, Kernel Image, and

Bootloader image will be created.

The “rootfs” directory off the LTIB directory is actually destined for the target file system.

► The ltib/rootfs/boot directory will contain the bootloader and kernel images just built.

► We could put the bootloader, kernel and file system to a SD card and run the system via SD boot on i.MX51EVK

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Gstreamer

Multimedia Framework Introduction and

Demo

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

75

TM

Gstreamer Overview

► GStreamer is a framework for creating streaming media applications

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

76

TM

Gstreamer Pipeline

► Example:

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

77

TM

Gstreamer Terminology

► Definitions of Elements

• Most important class of objects in GStreamer. Users create a chain of elements linked together and let data flow through this chain of elements.

One specific function … can be the reading of data from a file, decoding of this data or outputting this data to a sound card (or anything else).

► By chaining several such elements together, a pipeline is created that can do a specific task. For example: media playback or capture

► GStreamer ships with a large collection of elements by default making possible the development of a large variety of media applications.

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

78

TM

Gstreamer Terminology

► Pads

• Input and output of the elements that allows connection to other elements

• Used to negotiate links and data flow between elements in GStreamer

Bins and Pipelines

• Bin

– A container for a collection of elements

Pipeline

– A special subtype of a bin that allows execution of all of its contained child elements

• Since bins are subclasses of elements themselves. They can be controlled as if they were an element, thereby abstracting away application complexity.

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

79

TM

Gstreamer Overview (cont)

GStreamer is packaged into:

• gstreamer: The core package gst-plugins-base: An essential exemplary set of elements

• gst-plugins-good: A set of good-quality plug-ins under LGPL gst-plugins-ugly: A set of good-quality plug-ins that might pose distribution problems gst-plugins-bad: A set of plug-ins that need more quality gst-python: The python bindings

A few others packages

► Freescale Plugins!!! These are hardware accelerated plug ins that take advantage of the rich hardware accelerated blocks

► Separate download from same location as discussed at beginning of presentation.

The one that shipped with 10.07 is called:

MX5X_10.07_SS_MM_Standard_Source_Bundle.zip

► There are instructions inside that file. Basically you put two of the files into /opt/freescale/pkgs

► Please refer to

LINUX_MM_2010July_ER_LTIB_HOWTO.txt

in

Linux_Multimedia_Framework_Docs_MX51Ubuntu_1.9.0\docs for details

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

80

TM

► Audio Test

gst-launch-0.10

–v audiotestsrc ! alsasink

Basic Gstreamer Examples

Demo

Video Test

For all of these tests, its possible that the “ECO FRIENDLY GREEN” features of our BSP become active. If you dont see a penguin on monitor before you type, please type the following:

echo 0 > /sys/class/graphics/fb0/blank (Activates Monitor) gst-launch-0.10

–v videotestsrc ! Autovideosink

Ctrl-c to exit

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

81

TM

► To view

properties

of a plugin:

gst-inspect pluginname

► Example:

gst-inspect-0.10 | grep mfw

Changing the property:

gst-launch-0.10

–v videotestsrc pattern=1 ! autovideosink

Try different numbers for the “Pattern”!!!

Properties

Demo

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

82

TM

Web Camera Loopback

Demo

► UVC web camera is support in the current Linux Kernel

► Take the camera image and direct it to display

gst-launch-0.10 v4l2src ! 'video/x-raw-yuv' ! mfw_v4lsink gst-launch v4l2src ! 'video/x-raw-yuv,width=640,height=480' ! mfw_v4lsink gst-launch v4l2src ! 'video/x-raw-yuv,width=320,height=240' ! mfw_v4lsink

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

83

TM

Audio Playback

Demo

► MP3 playback

gst-launch filesrc location=/music.mp3 ! queue max-size-time=0 ! mfw_mp3decoder ! audioconvert ! 'audio/x-raw-int, channels=2' ! alsasink

Playbin (it can play MP3, AAC, WMA, OGG, etc)

gst-launch playbin uri=file:///music.mp3

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

84

TM

Playing a 720p Video Clip on DVI Monitor

Demo

Run the Gstreamer pipeline for playing MPEG4 720p video clip:

• Video only:

gst-launch filesrc location=/The_Future_of_Smart_Mobile_Devices.mp4 !

'video/quicktime' ! aiurdemux name=demux demux. ! queue max-sizebuffers=0 max-size-time=0 ! mfw_vpudecoder ! mfw_v4lsink &

• Video/Audio:

gst-launch filesrc location=/The_Future_of_Smart_Mobile_Devices.mp4 !

'video/quicktime' ! aiurdemux name=demux demux. ! queue max-sizebuffers=0 max-size-time=0 ! mfw_vpudecoder ! mfw_v4lsink demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_aacplusdecoder ! audioconvert ! 'audio/x-raw-int, channels=2' ! Alsasink &

► The 720p video displays on the DVI monitor at 720p resolution.

► Hit Enter, and Type: top

….and Notice CPU utilization

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Video Playback

Demo

► Playbin

cd / gst-launch playbin uri=file:///The_Future_of_Smart_Mobile_Devices.mp4 &

Hit enter, and type “ top

” and hit enter.....

Note the CPU usage again

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

86

TM

► gplay

gplay /The_Future_of_Smart_Mobile_Devices.mp4 &

Video Playback

Demo

Much Easier, Huh?

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

87

TM

Video Playback

Demo

► Playing WMV 720p video:

gst-launch filesrc location=/Coral_Reef_Adventure_720.wmv ! mfw_asfdemuxer name=demux demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_vpudecoder ! mfw_v4lsink

gst-launch filesrc location=/Coral_Reef_Adventure_720.wmv ! mfw_asfdemuxer name=demux demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_vpudecoder ! mfw_v4lsink demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_wma10decoder ! audioconvert ! 'audio/x-raw-int, channels=2' ! alsasink

gst-launch playbin uri=file:///Coral_Reef_Adventure_720.wmv &

gplay /Coral_Reef_Adventure_720.wmv &

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

88

TM

GPU SDK

Goal

To create, collect, and distribute a set of software, tools, and Documentation for our GPU hardware to facilitate customer education and product development

► Supporting Linux X11 and FBdev

► Samples

• Linux fbdev and X11

OpenGL ES 1.1 and 2.0

• NeHe OpenGL Tutorials

OpenVG

Tiger and „HMI‟ Demo

C2D

• Blit, Gradient, Rotation, etc.

► Demos

• Full Source

3DGUI (aka “The CES Demo)

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

89

TM

3D GUI

Demo

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

90

TM

Full Desktop Support on i.MX515

Gnome-based desktop UI

Full open office support document, presentation and spreadsheet SW

Support for multiple browsers

(including Opera, Mozilla, etc.)

Large pool of applications (instant messaging, etc.)

► Popular commercial Ubuntu Desktop

Edition was released for ARM in April

2009

► Enablement of All-Day Computing devices

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

Ubuntu Demo

TM

Android Demo

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

Questions?

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,

Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.

TM

TM

Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement