03.01.2015 Views

Learn how to build an embedded Linux-based Qt application and ...

Learn how to build an embedded Linux-based Qt application and ...

Learn how to build an embedded Linux-based Qt application and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Building a Security Surveill<strong>an</strong>ce System: Timesys University Local Edition Workshop<br />

<strong>Learn</strong> <strong>how</strong> <strong>to</strong> <strong>build</strong> <strong>an</strong> <strong>embedded</strong> <strong>Linux</strong>-<strong>based</strong><br />

<strong>Qt</strong> <strong>application</strong> <strong>an</strong>d leverage RTOS controlled sensors on<br />

the PHYTEC phyCORE-Vybrid Dev Kit<br />

Using open source <strong>Linux</strong>, MQX RTOS, Timesys <strong>an</strong>d ARM <strong>to</strong>ols <strong>an</strong>d the<br />

PHYTEC phyCORE-Vybrid development kit, attendees of this h<strong>an</strong>ds-on<br />

training session will <strong>build</strong> a security surveill<strong>an</strong>ce system.<br />

This Timesys University track is<br />

designed <strong>to</strong> familiarize attendees<br />

with the programming approach<br />

for the Freescale Vybrid processor.<br />

This one-day class will introduce<br />

<strong>to</strong>pics including RTOS, <strong>embedded</strong><br />

<strong>Linux</strong>, inter OS communication.<br />

Through a set of h<strong>an</strong>ds-on<br />

exercises, this Timesys University<br />

workshop will focus on designing<br />

<strong>an</strong> <strong>embedded</strong> <strong>application</strong> that<br />

crosses OS boundaries, <strong>an</strong>d it will<br />

introduce a set of <strong>to</strong>ols <strong>an</strong>d best<br />

practices that c<strong>an</strong> be leveraged<br />

in cus<strong>to</strong>m commercial product<br />

development.<br />

Register<br />

Pre-requisites for Attendees<br />

of this Session:<br />

• Basic <strong>Linux</strong> knowledge <strong>an</strong>d<br />

familiarity with <strong>an</strong> UBUNTU <strong>based</strong><br />

host OS<br />

• Familiarity with the C/C++ l<strong>an</strong>guage<br />

Attendees will use <strong>an</strong> Ubuntu <strong>based</strong><br />

host OS environment as provided by<br />

instruc<strong>to</strong>r.<br />

All sessions are designed <strong>to</strong> provide a h<strong>an</strong>ds-on experience throughout<br />

the entire development process, including assembly of the development<br />

environment <strong>an</strong>d its use <strong>to</strong> develop a multi-core communication platform<br />

that is MQX <strong>an</strong>d <strong>Linux</strong> <strong>based</strong>. Some of the technologies covered by the<br />

class include <strong>Qt</strong> Embedded, video capture, stream encoding <strong>an</strong>d more.<br />

Session Date & Location:<br />

APRIL 18 / SAN JOSE, CA<br />

Avnet Electronics Marketing<br />

1820 McCarthy Boulevard<br />

Milpitas, CA 95035<br />

Check-in: 8:30 a.m.<br />

Class: 9:00 a.m. – 3:00 p.m.<br />

(See ‘Session Agenda’ on back)<br />

Module 1: Introduction <strong>to</strong> Vybrid <strong>an</strong>d dual OS development environment.<br />

How <strong>to</strong> assemble <strong>an</strong>d deploy <strong>an</strong> initial BSP <strong>an</strong>d setup the development<br />

environment with the matching SDK.<br />

In this module, attendees will first learn about the power of Vybrid <strong>an</strong>d <strong>how</strong> <strong>to</strong> leverage the heterogeneous<br />

A5/M4 SOC <strong>to</strong> design products. The differences between RTOS <strong>an</strong>d <strong>embedded</strong> <strong>Linux</strong><br />

programming will be discussed, <strong>an</strong>d attendees will learn <strong>how</strong> <strong>to</strong> deploy the two OSs on the Vybrid<br />

processor.<br />

Next, this module will outline the typical challenges developers face when starting a new <strong>Linux</strong> <strong>based</strong><br />

project, <strong>an</strong>d attendees will learn <strong>how</strong> <strong>to</strong> quickly create a BusyBox-<strong>based</strong>, small footprint, cus<strong>to</strong>m<br />

<strong>Linux</strong> platform. This module concludes with <strong>an</strong> overview of <strong>how</strong> <strong>to</strong> jumpstart <strong>application</strong> development<br />

<strong>an</strong>d system cus<strong>to</strong>mization with GCC, glibc, libraries <strong>an</strong>d utilities such as GDB.<br />

What you will learn:<br />

• PHYTEC phyCORE-Vybrid development kit platform capabilities<br />

• Embedded <strong>Linux</strong> primer, including <strong>an</strong> overview of <strong>embedded</strong> systems<br />

• Embedded <strong>Linux</strong> concepts, including BSP, SDK, <strong>Linux</strong>Link <strong>an</strong>d Fac<strong>to</strong>ry<br />

• MQX RTOS primer<br />

• How <strong>to</strong> reflect product requirements in <strong>embedded</strong> <strong>Linux</strong> design<br />

• How <strong>to</strong> quickly create your first cus<strong>to</strong>m <strong>Linux</strong> BSP/SDK<br />

• How <strong>to</strong> deploy <strong>Linux</strong> <strong>an</strong>d MQX RTOS on <strong>an</strong> <strong>embedded</strong> board<br />

H<strong>an</strong>ds-0n exercises:<br />

• Embedded <strong>Linux</strong>-<strong>based</strong> product design process<br />

• Building a cus<strong>to</strong>m BSP <strong>an</strong>d SDK<br />

• Deploying <strong>Linux</strong> <strong>an</strong>d MQX on the phyCORE-Vybrid development kit<br />

(Continued on back)<br />

Lawyers Building - Suite 2100, 428 Forbes Avenue, Pittsburgh, PA 15219 T: +1.412.232.3250<br />

www.timesys.com


Module 2: Setting up your <strong>build</strong> environment <strong>an</strong>d learning <strong>how</strong> <strong>to</strong> <strong>build</strong><br />

MQX <strong>an</strong>d <strong>Linux</strong> OSs on your development host. How <strong>to</strong> <strong>build</strong> a state-ofthe-art<br />

UI for on-screen controls using <strong>Qt</strong> Embedded for <strong>Linux</strong>.<br />

In this session, attendees will set up their host development environment with desk<strong>to</strong>p <strong>to</strong>ols<br />

including Fac<strong>to</strong>ry <strong>an</strong>d ARM DS-5 that enable developers <strong>to</strong> <strong>build</strong> MQX <strong>an</strong>d <strong>Linux</strong> OSs <strong>an</strong>d assist in<br />

the development of value-add software.<br />

Using <strong>Qt</strong> WYSIWYG features, attendees will design a UI for a security surveill<strong>an</strong>ce <strong>application</strong> that<br />

provides end users with information on capture <strong>an</strong>d displayed feed along with various controls <strong>to</strong><br />

m<strong>an</strong>ipulate the device’s behavior. The <strong>application</strong> will leverage hardware accelerated features of<br />

the Vybrid SOC.<br />

What you will learn:<br />

• How <strong>to</strong> setup your host environment <strong>to</strong> cross compile MQX <strong>an</strong>d <strong>Linux</strong><br />

• <strong>Qt</strong> Embedded for <strong>Linux</strong> as <strong>an</strong> example of a WYSIWYG UI design<br />

- <strong>Qt</strong> primer<br />

• How <strong>to</strong> use a modern IDE <strong>to</strong> develop <strong>an</strong> <strong>application</strong><br />

• How <strong>to</strong> modify a filesystem design <strong>to</strong> meet your cus<strong>to</strong>m project needs<br />

• How <strong>to</strong> re<strong>build</strong> the complete <strong>Linux</strong> platform from sources in a repeatable way<br />

• How <strong>to</strong> m<strong>an</strong>age <strong>Linux</strong> kernel <strong>build</strong>s with cus<strong>to</strong>m patches<br />

H<strong>an</strong>ds-on exercises:<br />

• Setting up the system <strong>an</strong>d <strong>application</strong> development environment<br />

• Building:<br />

- MQX<br />

- <strong>Linux</strong><br />

- <strong>Qt</strong> <strong>based</strong> HMIs<br />

• Testing <strong>an</strong>d debugging of the <strong>application</strong><br />

Module 3: How <strong>to</strong> capture <strong>an</strong>d display video using hardware accelerated<br />

features in your security surveill<strong>an</strong>ce <strong>application</strong>. How <strong>to</strong> <strong>build</strong> MQX<br />

<strong>application</strong> <strong>an</strong>d <strong>how</strong> <strong>to</strong> pass information between OSs with MCC layer.<br />

The <strong>Qt</strong> <strong>application</strong> developed controls various functions of the security surveill<strong>an</strong>ce system that<br />

will be displayed on the first framebuffer that’s available, <strong>an</strong>d its appear<strong>an</strong>ce will be mixed with a<br />

video feed that plays on a second framebuffer. Attendees will learn about the GStreamer framework<br />

including the basics of <strong>how</strong> <strong>to</strong> construct a video pipeline for capture <strong>an</strong>d video playback.<br />

In the final step in this module, attendees will develop code that connects <strong>Qt</strong> widgets with the<br />

GStreamer framework. Attendees will learn <strong>how</strong> <strong>to</strong> <strong>build</strong> <strong>an</strong> MQX <strong>application</strong> that moni<strong>to</strong>rs a light<br />

sensor <strong>an</strong>d <strong>how</strong> <strong>to</strong> pass this information <strong>to</strong> <strong>Linux</strong> via the Multi-Core Communication (MCC) layer.<br />

What you will learn:<br />

• How <strong>to</strong> <strong>build</strong> <strong>an</strong> <strong>application</strong> for a MQX RTOS<br />

• How <strong>to</strong> pass information between OSs with MCC layer<br />

• How <strong>to</strong> combine all developed <strong>Linux</strong> components in<strong>to</strong> a final product<br />

• How <strong>to</strong> integrate <strong>Linux</strong>Link <strong>to</strong>ols in<strong>to</strong> your corporate systems (case study)<br />

• What is the GStreamer framework, <strong>an</strong>d <strong>how</strong> <strong>to</strong> use it<br />

• How <strong>to</strong> work with hardware accelerated features of the Vybrid processor<br />

H<strong>an</strong>ds-on exercises:<br />

• Moni<strong>to</strong>ring a light sensor under MQX RTOS<br />

• Passing information between MQX <strong>an</strong>d <strong>Linux</strong> OSs via the MCC layer<br />

• Starting a video capture from a <strong>Qt</strong> <strong>application</strong><br />

Module 4: How <strong>to</strong> optimize, test <strong>an</strong>d integrate the solution for fast boot<br />

<strong>an</strong>d quick deployment.<br />

The last module will focus on <strong>Linux</strong> platform integration <strong>an</strong>d explain <strong>how</strong> <strong>to</strong> integrate the solution<br />

for quick deployment using <strong>an</strong> SD card. Attendees will learn about common <strong>Linux</strong> techniques for<br />

achieving a small footprint end product with a fast boot time, including the development of scripts<br />

used <strong>to</strong> au<strong>to</strong> launch different features of the product at boot time.<br />

What you will learn:<br />

• How <strong>to</strong> combine all developed <strong>Linux</strong> components in<strong>to</strong> a final product<br />

• How <strong>to</strong> optimize for deployment, footprint <strong>an</strong>d boot time<br />

• How <strong>to</strong> modify bootloader settings for deployment in <strong>an</strong> SD card<br />

• How <strong>to</strong> integrate <strong>Linux</strong>Link <strong>to</strong>ols in<strong>to</strong> your corporate systems (case study)<br />

H<strong>an</strong>ds-on exercises:<br />

• Building a <strong>Linux</strong> image for SD card deployment<br />

• <strong>Linux</strong> kernel optimizations for fast booting<br />

Lawyers Building - Suite 2100, 428 Forbes Avenue, Pittsburgh, PA 15219 T: +1.412.232.3250<br />

Session Agenda:<br />

8:30 a.m. – 9:00 a.m.<br />

Check-in<br />

9:00 a.m. – 9:30 a.m.<br />

Freescale roadmap overview<br />

9:30 a.m. – 9:45 a.m.<br />

Timesys support for Freescale<br />

processors<br />

9:45 a.m. – 10:00 a.m.<br />

Break<br />

10:00 a.m. – 11:45 a.m.<br />

H<strong>an</strong>ds-On: Building a security<br />

surveill<strong>an</strong>ce system<br />

(10-minute break included)<br />

11:45 a.m. – 12:30 p.m.<br />

Lunch (will be provided)<br />

12:30 p.m. – 3:00 p.m.<br />

H<strong>an</strong>ds-On: Building a security<br />

surveill<strong>an</strong>ce system<br />

(10-minute break included)<br />

Register for this Timesys<br />

University Local Edition workshop:<br />

www.timesys.com/tsule/vybrid/s<strong>an</strong>jose/register-avnet<br />

Timesys, TimeS<strong>to</strong>rm <strong>an</strong>d the Timesys logo are registered<br />

trademarks of Timesys Corporation. Avnet <strong>an</strong>d the Avnet<br />

logo are trademarks of Avnet, Inc. in the United States<br />

<strong>an</strong>d other countries. phyCORE <strong>an</strong>d the PHYTEC logo are<br />

registered trademarks of the PHYTEC Technologie Holding<br />

AG <strong>an</strong>d PHYTEC America LLC. Freescale, Vybrid <strong>an</strong>d the<br />

Freescale logo are trademarks of Freescale Semiconduc<strong>to</strong>r,<br />

Inc., Reg. U.S. Pat. & Tm. Off. ARM is a registered trademark<br />

<strong>an</strong>d DS-5 is a trademark of ARM Limited. <strong>Linux</strong> is a<br />

registered trademark of Linus Torvalds in the United States<br />

<strong>an</strong>d other countries. <strong>Qt</strong> is a trademark of Nokia Corporation<br />

in Finl<strong>an</strong>d <strong>an</strong>d/or other countries worldwide. All other<br />

comp<strong>an</strong>y <strong>an</strong>d product names mentioned are trademarks<br />

<strong>an</strong>d/or registered trademarks of their respective owners.<br />

02/2013<br />

www.timesys.com<br />

Register

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!