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 ...
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