38
www.timesys.com ©2011 Timesys Corp. Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.MX53 using LinuxLink Session 1 How to capture your initial Linux based product requirements and quickly build a custom BSP/SDK to jumpstart your development Audio streaming is available for this event. Turn on your speakers to listen.

Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

Track ThreeBuilding a Rich UI Based Dual Display Video Player

with the Freescale i.MX53 using LinuxLink

Session 1

How to capture your initial Linux based product requirements and quickly

build a custom BSP/SDK to jumpstart your development

Audio streaming is available for this event.

Turn on your speakers to listen.

Page 2: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

2 Tools You Can Use

Q&A and/or Chat

• Click on Q&A panel (?) or Chat panel icon in the bottom, right corner

• Type in your question in the space provided

• Click on “Submit”

Page 3: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

3 Tools You Can Use

Polling

• The poll will appear on your screen

• Select your answer for each question

• Click on “Submit”

Page 5: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

5 Building a Rich UI Based Dual Display

Video Player Device

Session 1 – Today

How to capture your initial Linux based product requirements and quickly build a custom BSP/SDK to jumpstart your development

Session 2 – July 26 @ 1pm EDT

How to build a media player control panel using Qt Embedded for Linux

Session 3 – August 18 @ 1pm EDT

How to leverage hardware accelerated video features to play back 720p/1080p video

Session 4 – September 7 @ 1pm EDT

How to optimize, test and integrate the solution for fast boot and quick deployment

Page 6: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

6 Today’s Agenda

Developing a product with the Freescale i.MX53 QSB

Session Hardware/Software Requirements

Embedded Linux Primer

Where do I start my Linux design — Product

Requirements

Assemble a custom BSP using LinuxLink Web

Edition

• Reflect product requirements

• Produce complete Linux design

• Learn how to find information

Application/System Development environment setup

with an SDK

Deploy the images on the Freescale i.MX53 board

Page 7: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

7

Developing a product with the

Freescale i.MX53 Quick Start board

Page 8: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

8 Obstacles to Rapid Product Development

What is my development target?

What do I do for the BSP?

How to get from a demo to a product?

Can I use an IDE for development?

How do I manage updates? Where do we start?

Application

engineer

System

engineer

Page 9: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

9 Obstacles to Rapid Product Development

What is my development target?

What do I do for the BSP?

How to get from a demo to a product?

Can I use an IDE for development?

How do I manage updates? Where do we start?

Application

engineer

System

engineer

Page 10: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

10 What is my development target?

TimeAvailable now

• Build on custom hardware

• Ideal, but wont be ready for months

Custom Product

Page 11: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

11 Develop for the Reference Board

TimeAvailable now

Custom Product

• i.MX53 QSB is inexpensive

• I can develop software for the i.MX53 instead of PC

Page 12: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

12 What do I do for a BSP?

• How do I boot?

• Freescale

• Open Source

• Board Vendor

• Timesys

Page 13: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

13 Configurable BSP and beyond –

LinuxLink Free Web Edition

Intuitive wizard based UI – no learning curve

Builds on Web – no desktop environment required

Built against downloaded images for consistency

Seamless integration with IDE

Page 14: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

14

Session Hardware/Software

Requirements

Page 15: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

15 What We Need to Build Our Product

A Host Machine

• Linux

• Windows is ok, but you’ll need a VirtualBox with a Linux installation

Cross-development environment

Linux source code for the product

• Bootloader

• Linux kernel

• APIs

Various Linux utilities

IDE with WYSIWYG for

faster assembly

Page 16: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

16 Giveaway

If you attend at least 3 out of 4 sessions in this

Timesys University track, we will automatically

enter you into a drawing for a chance to win a

Freescale i.MX53 Quick Start Development Board

Page 17: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

17

Embedded Linux Primer

Page 18: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

18 Embedded Linux Reference Model

Middleware and Application Services

UI NetworkingNetworking

Security Reliability

LCDHW

accel.SD USB more

Linux kernel Driver Driver Driver Driver more

Application 1 Application 2Third-Party Application

Application (e.g. Base Station Control) App Features

SOCBoard

Target Host

Hundreds of APIs from Open

Source and Proprietary

Reliability

Development Tools

• Cross-Development

Environment (SDK)

• IDE

• Application Debugging

• Build System (e.g. Factory)

• RFS, Kernel, App

• Collaborative Development

• Profiling

• Tracing

• System Management

• Target Images

• Binaries Deployment

• Target Management

Ap

plic

ation

Syste

m

Ha

rdw

are

So

ftw

are

Virtualization

• KGDB/ printk Debugging

• JTAG

• SMP support, RT

enhancements

Bootloader Driver Driver Driver Driver more

Page 19: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

19 Embedded Linux Challenges

Assembling a Linux platform can be very complex

• The code is “free,” but…

• Achieving a consistent and repeatable build can be challenging

Difficult to keep pace

• Over 40,000 independent sources on the Web

• Maintained by thousands of developers

Difficult to pick the right combinations

• Hidden dependencies, abandoned projects

• Numerous revision conflicts

Difficult to find tools that work

• Many open source tools are available

• Difficult to assemble the associated patches and libraries

Limited-to-no support

Page 20: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

20

Hardware

Bootloader

Device A Device B

Linux Kernel

Device A Device C

Root Filesystem

Packages Scripts

User Application(s)

Typical Linux System StructurePower On

Flash init

U-bootHardware Init

U-bootCopies kernel to

memory/uncompress

Kernel BootHardware/Subsystems

initialization

RFSFetch/Mount/Boot into

User Application

Boot Process SequenceT

IME

Boot Process in Short

Page 21: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

21

Product Requirements — Where

Do I Start My Linux Development?

Page 22: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

22 What Are We Building?

Dual Display Media Player

Features:

Control Panel

• Built with Qt Embedded

• Buttons to control video playback

• CPU utilization

Video output

• Two framebuffers on a single LCD (blending)

• LCD/Component

Hardware accelerated video - 1080p movie playback

• GStreamer

• Codecs

Boot fast from microSD flash

Page 23: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

23 Project Requirements (Freescale i.MX53 QSB)

• Graphics

• Touchscreen

• Applications

− Screen calibration

− Control Panel

• VGA/Component

• Video Out

• 720p/1080p

• Serial port

communication

• SD/MMC Card

− Filesystem

• Ethernet

− Secure Connection

− Transfer (FTP/SCP)

− Console (Telnet/SSH)

• USB

• Storage (USB

stick)

• Extensions

• MicroSD

− Boot from

− Additional storage

• Audio (optional)

− Alsa Mixer

− Sound playback

Page 24: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

24 Dual Display Video Player (Blueprint)

U-Boot bootloader

Middleware

shell

LCD

calibration

i.MX53

QSB

USBGPIO VPUTouch

ScreenLCD

Linux kernel

Media Playback Application

AudioUser Interface, Buttons, etc Video Plaback

SDIO

Ethernet

NAND

Audio

Network

accessCPU

usage

Qt Embedded

Driver Driver

Framebuffer 2

Codecs

GStreamer

networking

openssh

DriverDriver DriverDriver

alsa

alsa-utils

Driver

setup

scripts

Driver Driver

Serial

Framebuffer 1

Page 25: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

25

Assemble a Custom BSP Using the

LinuxLink Web Edition

Page 26: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

26 Requirements Helper

Feature What do I need Where to select

Linux Kernel Latest, 2.6.35 kernel Linux kernel

Cross Toolchain GCC, Binutils, GDB Toolchains

C Library glibc Toolchains

Touch Screen tslib Packages

Qt qt-embedded-linux Packages

Dual Display Demo timesys-theatre-1080p Packages

GStreamer gstreamer

gst-plugins (base, good)

gst-fsl-plugin

Packages

Media Codecs fsl-mm-codelib

firmware-imx

Packages

Sound alsa-utils Packages

System Initialization busybox Packages

Page 27: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

27

Application/System Development

Environment Setup with an SDK

Page 28: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

28 Embedded Linux Reference Model

Middleware and Application Services

UI NetworkingNetworking

Security Reliability

LCDHW

accel.SD USB more

Linux kernel Driver Driver Driver Driver more

Application 1 Application 2Third-Party Application

Application (e.g. Base Station Control) App Features

SOCBoard

Target Host

Hundreds of APIs from Open

Source and Proprietary

Reliability

Development Tools

• Cross-Development

Environment (SDK)

• IDE

• Application Debugging

• Build System (e.g. Factory)

• RFS, Kernel, App

• Collaborative Development

• Profiling

• Tracing

• System Management

• Target Images

• Binaries Deployment

• Target Management

Ap

plic

ation

Syste

m

Ha

rdw

are

So

ftw

are

Virtualization

• KGDB/ printk Debugging

• JTAG

• SMP support, RT

enhancements

Page 29: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

29 Embedded Linux Reference Model

Middleware and Application Services

UI NetworkingNetworking

Security Reliability

LCDHW

accel.SD USB more

Linux kernel Driver Driver Driver Driver more

Application 1 Application 2Third-Party Application

Application (e.g. Base Station Control) App Features

SOCBoard

Target

Hundreds of APIs from Open

Source and Proprietary

Reliability

Ap

plic

ation

Syste

m

Ha

rdw

are

So

ftw

are

Virtualization

Host

Development Tools

• Cross-Development Environment (SDK)

• IDE

• Application Debugging

• Build System (e.g. Factory)

• RFS, Kernel, App

• Collaborative Development

• Profiling

• Tracing

• System Management

• Target Images

• Binaries Deployment

• Target Management

• KGDB/ printk Debugging

• JTAG

• SMP support, RT enhancements

Page 30: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

30 Development Environment Setup

Runtime images

Can be used to run

Linux on the target

Software Development Kit

(SDK)

• Install on your host PC

Desktop Factory tools

• Install on your host PC

Can find instructions

on how to run Linux

on your Freescale

i.MX53 QSB system

SDK will setup your complete Linux cross-development

environment including: - Compiler

- APIs header files and libraries

Page 31: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

31

Deployment

Page 32: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

32 Deployment

We’ll use…

• U-Boot bootloader to load the Linux kernel

• NFS mounted filesystem

Setup entries for the NFS daemon

• Edit /etc/exports

• Add the following entry

– home/timesys-university/i.mx53qsb/session1/rfs *(rw,no_root_squash)

• Restart the NFS daemon

– /etc/init.d/nfs-kernel-server restart

Enable your tftp server

U-Boot environment variables

– setenv bootfile uImage-mx53

– setenv bootargs console=ttymxc0,115200 ip=10.0.0.10 root=/dev/nfs rwnfsroot=10.0.0.1:/home/timesys-university/i.mx53qsb/session1/rfs

– setenv bootcmd bootp\;bootm

– setenv loadaddr 70800000

– saveenv

Page 33: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

33 What We Have Accomplished

Learned about developing with i.MX53 LinuxLink –

needed for all exercises

Reflected product requirements in Linux BSP

and SDK

Built a custom BSP with LinuxLink Web Edition

• Experiment on day one with a pre-built starting point

Setup a development environment

• System level development and optimizations

• Development of a value-add software (applications)

Deployed the system on the target via NFS for

future development

• Transferred images

Configured bootloader

Page 34: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

34 Next Session

July 26 @ 1pm EDT

How to build a media player control planel using

Qt Embedded for Linux

• Install TimeStorm with Qt development tools

• Design a control panel application w/ GUI

• Development and testing using host environment

• Add needed code to control media playback

• Deploy on the target board verify touchscreen

• More fun to come…

Page 35: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

35 Homework

1. Outline your own requirements

2. Assemble a BSP that matches your needs

3. Setup your development environment

4. Run your custom Linux images on your hardware

Let us know if you run into any challenges. We have setup a dedicated

communication channel to share questions, comments and replies.

Please subscribe at https://lists.timesys.com/listinfo/timesys-university

While your questions will be answered by Timesys expert engineers,

we encourage you to answer questions asked by others. Sharing

experiences is always the best way to learn.

Page 36: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

36 Glossary

LinuxLink (Web Edition) – Web-based version of LinuxLink

LinuxLink (Desktop Edition) – Local version with full customization and third-party tools integration

Workorder – Stores definition of your software – filenames, versions

Bootloader – Runs first, initializes necessary hardware, loads Linux

Linux kernel – Operating system that manages hardware access and other features for higher level software

Device Driver – Code that’s part of a Linux kernel, defines how software accesses specific hardware

File System – All files (libraries/utilities/scripts/etc.) combined on a single storage, e.g. NAND flash

Middleware – Complete frameworks including APIs, utilities that provide specific functionality, e.g. Qt

API (library) – Used by applications, provide functionality, abstract hardware access

Toolchain (cross) – The most important part of the development environment. Used to compile source code into binaries.

Page 37: Track Three - TimeSys...How to leverage hardware accelerated video features to play back 720p/1080p video Session 4 –September 7 @ 1pm EDT How to optimize, test and integrate the

www.timesys.com ©2011 Timesys Corp.

37 About Timesys

Carnegie Mellon University spin-off in 1996

First real-time embedded Linux distribution

First to register carrier grade Linux (CGL)

First to market with an open source, commercial-

grade embedded Linux development framework

(LinuxLink)

First to develop and deliver an award-winning,

automated, intelligent, embedded Linux build

system (LinuxLink 3.0)

2001

Real-time

Linux

Leadership

Manual

Customized

Builds

Automated

Build/Test

Hosted

Build System

Customized Linux

Versions

Integrate Real-time

with OS Community

First embedded

Eclipse-based

Tools

Semis adapt

Build systemIntelligent

Build system

100% Open Source

2002 2003 2004 2005 2007 2009

LinuxLink 3.0

First to market open

source, commercial-

grade Linux product —

LinuxLink 1.0 LinuxLink 2.0

First to deliver an

automated, intelligent

build system

First to register carrier-

grade Linux distribution