SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Porting Qt for Embedded Linux on
Embedded Processors
Frank Walzer – Texas Instruments
Beagle Board
                                              Peripheral I/O
OMAP3530 Processor                             DVI-D video out
 600MHz Cortex-A8        10 cm
                                               SD/MMC+
     NEON+VFPv3                                S-Video out
     16KB/16KB L1$
                                               USB 2.0 HS OTG
     256KB L2$
                                               I2C, I2S, SPI,
 430MHz C64x+ DSP
     32K/32K L1$                               MMC/SD
     48K L1D                                   JTAG
     32K L2                                    Stereo in/out
 PowerVR SGX GPU                               Alternate power
 64K on-chip RAM                               RS-232 serial

POP Memory
                                    USB Powered
 256MB LPDDR RAM                     2W maximum consumption
 256MB NAND flash                         OMAP is small % of that
                                     Many adapter options
                                          Car, wall, battery, solar, …
Agenda


•   Motivation for using Qt at Texas Instruments
•   Porting Qt to TI Embedded Processors
•   What do we do with Qt?
•   Enhancing Qt through Accelerators
•   Future

                        Frank Walzer
                        Senior System Engineer
                        Texas Instruments Germany
                        f-walzer@ti.com
Motivation


• Complexity, complexity, complexity…
• Reduce amount of time to build a real system
   –   System software
   –   Feature complete
   –   Easy to learn & use
   –   OS API abstraction
   –   Cross-platform support
   –   Modular & flexible
   –   Open-source
• So we found Qt™
• Many other options exist but none are matching our
  requirements any better
Porting Qt to Embedded Processors


•   Many TI Embedded Processors are ARM core based
     – ARM supported as architecture in Qt
     – Qt Embedded Linux our standard choice
•   Follow the Qt build process
     –   Get source download or use Git to clone Gitorious Qt tree(s)
     –   Adaptation of mkspecs as needed
     –   Configure, compile & test
     –   Usually painless
•   Already tested devices
     –   OMAP35xx family (Cortex-A8, DSP, PowerVR SGX)
     –   AM35xx (Cortex-A8, PowerVR SGX)
     –   OMAP-L137/L138 (ARM9, DSP)
     –   DM365 and DM644x (ARM9)
•   Modifications to Qt sources?
     – Only once to work around a framebuffer issue (two lines of code)
     – 100% of demos and examples work unmodified
     – Expect changes needed for optimized hardware integration
OMAP3530 Processor
OMAP35x Processor
                              C64x+™ DSP and                      Display Subsystem
                             video accelerators
                              (3525/3530 only)
                                                                 LCD
    ARM®                                                                  Video      10 bit DAC
                                                                Cont-
                                                                roller     Enc       10 bit DAC
  Cortex™-A8
     CPU
                             POWERVR SGX™                                Camera I/F
                                 Graphics
                              (3515/3530 only)
                                                                 Image Pipe       Parallel I/F




                                  L3/L4 Interconnect


 Peripherals                        Connectivity                              System

                             USB 2.0 HS                                       Timers
                                                 USB
                                OTG                                           GP x12
                                           Host Controller x3
                              Controller                                      WDT x2
      Serial Interfaces                                 Program/Data Storage
  McBSP    I2C      UART          HDQ /
                     x2                                 SDRC                  MMC/
    x5      x3                    1-wire
                                                                               SD/
                                                        GPMC                  SDIO
  McSPI             UART
   x4               w/IRDA                                                     x3
Our Use of Qt

•   Ability to support customers porting Qt
     – Drive Qt releases to include tested mkspecs targeting TI devices
     – Provide example configurations to enable advanced hardware
•   Creation of focused applications
     – Targeted end-equipment GUIs
     – Customer or major event support
     – From bare GUI prototype to full applications
•   Standard demonstrations
     – Using Qt demos and examples a lot!
•   Benchmarks
     – Either Qt demos & examples or small applications
     – qgears for graphics
•   Early system testing
     – Quick way to evaluate complex peripherals on new hardware
Qt Application Development

• Often done cross-platform
   – New hardware not available in time
   – More efficient on PC
   – 99% of Qt application source code can be directly cross-
     compiled with no modification
        • Serial port exception!
• Porting final applications to multiple platforms
   –   Embedded platforms supported with multiple operating systems
   –   Again limited hardware availability
   –   Identical GUI maybe shown using PC only
   –   Rapid prototyping
Development Experience

• Focused on Qt Embedded Linux
• Human Machine Interface demo
   –   Done in 5 weeks
   –   New graphical display & communications
   –   1 student + 0.5 engineers
   –   Started on OMAP3 and ported to OMAP-L1
   –   New hardware, new to Qt
• Weight Scale GUI prototype
   – 2 days
   – Developed on PC and tested on OMAP3
     EVM using touch screen control
• Several customer applications
   – Just compile and run
   – For benchmarking on different OS
Demo Software Stack – OMAP-L1

  OS: MV pro5 Linux
  Qt 4.5 framework abstracts OS API
  Application program using C++ Object Oriented Programming
  Debug on other platforms possible due to Qt 4.5 cross-platform support
  High abstraction on application level leads to fast development



                        Temperature Demo

                 Qt 4.5 Embedded Linux

           GUI/FB    Serial IO   TCP/IP   Timer


                        Linux API                            Graphic
MV Pro5                                                    Acceleration
 Linux    Ethernet   USB/ACM Display      Timer             (optional)

              ARM / Peripherals                                DSP
Real Applications




                    TSC2046



                      SPI

                 OMAP3/
                OMAP-L1xx
Enhancing Qt

• Full support for embedded hardware beyond ARM core
   – PowerVR SGX core for OpenGLES, OpenVG
   – C6xxx DSP for effective signal processing
• Ready to use with Qt classes
   – Initial support in Qt for OpenGLES
   – Still evaluating best use cases
• DSP designated for multimedia applications
   – Possible integration of TI gstreamer-plugin with Phonon?
   – Already requested by customers
   – Very early discussion phase
• Optimizing Qt for dedicated hardware requires support
  from silicon vendor
Future

• Provide full Qt porting support
  – Using gitorious as platform
  – Update when new devices appear
  – Wiki: http://omap.wiki.com/Building_Qt
• Evaluate Qt 4.6 SVG support
  – Does it integrate well with OpenVG API on OMAP3?
• Drive Qt use in TI on world-wide level
• Develop additional reference applications
  – Industrial automation market
  – Use Qt as GUI for process control software
Summary

• Customers can benefit from Qt in a similar way
  –   Highly efficient development
  –   Portable and re-usable (C++)
  –   Great GUI creation tools
  –   Same constraints on resources as we have
• We stepped into Qt at the right time
  – Highly successful projects for TI
  – Lots of customer requests
  – Plays well with TI plans and needs for Embedded
    Processing
Demonstration

Mais conteúdo relacionado

Mais procurados

Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureChristian Charreyre
 
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking TechnologyDesign of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking TechnologyTELKOMNIKA JOURNAL
 
Radius portable briefcase style workstation
Radius portable briefcase style workstationRadius portable briefcase style workstation
Radius portable briefcase style workstationrwachsman
 
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Pradeep Singh
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux MultimediaCaglar Dursun
 
Intel's Presentation in SIGGRAPH OpenCL BOF
Intel's Presentation in SIGGRAPH OpenCL BOFIntel's Presentation in SIGGRAPH OpenCL BOF
Intel's Presentation in SIGGRAPH OpenCL BOFOfer Rosenberg
 
Enabling accelerated networking - seminar by Enea at the Embedded Conference ...
Enabling accelerated networking - seminar by Enea at the Embedded Conference ...Enabling accelerated networking - seminar by Enea at the Embedded Conference ...
Enabling accelerated networking - seminar by Enea at the Embedded Conference ...EneaSoftware
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boardsLF Events
 
Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Harshit Srivastava
 
Fpga video capturing
Fpga video capturingFpga video capturing
Fpga video capturingshehryar88
 
Interfacing the Raspberry Pi to the World
Interfacing the Raspberry Pi to the WorldInterfacing the Raspberry Pi to the World
Interfacing the Raspberry Pi to the WorldOmer Kilic
 
Newbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universeNewbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universeOfer Rosenberg
 
LAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device ConfigurationLAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device ConfigurationLinaro
 

Mais procurados (20)

Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architecture
 
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking TechnologyDesign of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
 
Radius portable briefcase style workstation
Radius portable briefcase style workstationRadius portable briefcase style workstation
Radius portable briefcase style workstation
 
GPU Ecosystem
GPU EcosystemGPU Ecosystem
GPU Ecosystem
 
OMAP
OMAPOMAP
OMAP
 
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux Multimedia
 
Intel's Presentation in SIGGRAPH OpenCL BOF
Intel's Presentation in SIGGRAPH OpenCL BOFIntel's Presentation in SIGGRAPH OpenCL BOF
Intel's Presentation in SIGGRAPH OpenCL BOF
 
Enabling accelerated networking - seminar by Enea at the Embedded Conference ...
Enabling accelerated networking - seminar by Enea at the Embedded Conference ...Enabling accelerated networking - seminar by Enea at the Embedded Conference ...
Enabling accelerated networking - seminar by Enea at the Embedded Conference ...
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boards
 
Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Introduction to intel galileo board gen2
Introduction to intel galileo board gen2
 
Fpga video capturing
Fpga video capturingFpga video capturing
Fpga video capturing
 
Interfacing the Raspberry Pi to the World
Interfacing the Raspberry Pi to the WorldInterfacing the Raspberry Pi to the World
Interfacing the Raspberry Pi to the World
 
Newbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universeNewbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universe
 
LAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device ConfigurationLAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
 
The GPGPU Continuum
The GPGPU ContinuumThe GPGPU Continuum
The GPGPU Continuum
 
Nvidia Cuda Apps Jun27 11
Nvidia Cuda Apps Jun27 11Nvidia Cuda Apps Jun27 11
Nvidia Cuda Apps Jun27 11
 
Craneboard
CraneboardCraneboard
Craneboard
 
SoC FPGA Technology
SoC FPGA TechnologySoC FPGA Technology
SoC FPGA Technology
 

Semelhante a Case Study: Porting Qt for Embedded Linux on Embedded Processors

Webinar: NVIDIA JETSON – A Inteligência Artificial na palma de sua mão
Webinar: NVIDIA JETSON – A Inteligência Artificial na palma de sua mãoWebinar: NVIDIA JETSON – A Inteligência Artificial na palma de sua mão
Webinar: NVIDIA JETSON – A Inteligência Artificial na palma de sua mãoEmbarcados
 
S5429_LanceBrown
S5429_LanceBrownS5429_LanceBrown
S5429_LanceBrownLance Brown
 
Parallel Rendering of Webpages
Parallel Rendering of WebpagesParallel Rendering of Webpages
Parallel Rendering of WebpagesLangtech
 
Lagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
Lagopus presentation on 14th Annual ON*VECTOR International Photonics WorkshopLagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
Lagopus presentation on 14th Annual ON*VECTOR International Photonics WorkshopLagopus SDN/OpenFlow switch
 
CAST BA22 32-bit Processor - SoCIP Design Seminar, 2/1/12
CAST BA22 32-bit Processor - SoCIP Design Seminar, 2/1/12CAST BA22 32-bit Processor - SoCIP Design Seminar, 2/1/12
CAST BA22 32-bit Processor - SoCIP Design Seminar, 2/1/12ndzervas
 
Pristine glif 2015
Pristine glif 2015Pristine glif 2015
Pristine glif 2015ICT PRISTINE
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesSamsung Open Source Group
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDKKernel TLV
 
Cuda meetup presentation 5
Cuda meetup presentation 5Cuda meetup presentation 5
Cuda meetup presentation 5Rihards Gailums
 
Rico board
Rico boardRico board
Rico boardmyirtech
 
MYC-J1028X CPU Module Overview
MYC-J1028X CPU Module OverviewMYC-J1028X CPU Module Overview
MYC-J1028X CPU Module OverviewLinda Zhang
 
LEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGATO project
 

Semelhante a Case Study: Porting Qt for Embedded Linux on Embedded Processors (20)

Webinar: NVIDIA JETSON – A Inteligência Artificial na palma de sua mão
Webinar: NVIDIA JETSON – A Inteligência Artificial na palma de sua mãoWebinar: NVIDIA JETSON – A Inteligência Artificial na palma de sua mão
Webinar: NVIDIA JETSON – A Inteligência Artificial na palma de sua mão
 
Shresta Product Line Card
Shresta Product Line CardShresta Product Line Card
Shresta Product Line Card
 
Pres
PresPres
Pres
 
uCluster
uClusteruCluster
uCluster
 
S5429_LanceBrown
S5429_LanceBrownS5429_LanceBrown
S5429_LanceBrown
 
Parallel Rendering of Webpages
Parallel Rendering of WebpagesParallel Rendering of Webpages
Parallel Rendering of Webpages
 
Lagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
Lagopus presentation on 14th Annual ON*VECTOR International Photonics WorkshopLagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
Lagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
 
Fixed-point Multi-Core DSP Platform
Fixed-point Multi-Core DSP PlatformFixed-point Multi-Core DSP Platform
Fixed-point Multi-Core DSP Platform
 
Lec09-DSP.pdf
Lec09-DSP.pdfLec09-DSP.pdf
Lec09-DSP.pdf
 
CAST BA22 32-bit Processor - SoCIP Design Seminar, 2/1/12
CAST BA22 32-bit Processor - SoCIP Design Seminar, 2/1/12CAST BA22 32-bit Processor - SoCIP Design Seminar, 2/1/12
CAST BA22 32-bit Processor - SoCIP Design Seminar, 2/1/12
 
Q7 SoM presentation at FTF India,2011
Q7 SoM presentation at FTF India,2011Q7 SoM presentation at FTF India,2011
Q7 SoM presentation at FTF India,2011
 
Pristine glif 2015
Pristine glif 2015Pristine glif 2015
Pristine glif 2015
 
Current Trends in HPC
Current Trends in HPCCurrent Trends in HPC
Current Trends in HPC
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
Cuda meetup presentation 5
Cuda meetup presentation 5Cuda meetup presentation 5
Cuda meetup presentation 5
 
nios.ppt
nios.pptnios.ppt
nios.ppt
 
Rico board
Rico boardRico board
Rico board
 
MYC-J1028X CPU Module Overview
MYC-J1028X CPU Module OverviewMYC-J1028X CPU Module Overview
MYC-J1028X CPU Module Overview
 
LEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous Hardware
 

Mais de account inactive

KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phonesaccount inactive
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbianaccount inactive
 
Scripting Your Qt Application
Scripting Your Qt ApplicationScripting Your Qt Application
Scripting Your Qt Applicationaccount inactive
 
Special Effects with Qt Graphics View
Special Effects with Qt Graphics ViewSpecial Effects with Qt Graphics View
Special Effects with Qt Graphics Viewaccount inactive
 
Developments in The Qt WebKit Integration
Developments in The Qt WebKit IntegrationDevelopments in The Qt WebKit Integration
Developments in The Qt WebKit Integrationaccount inactive
 
Qt on Real Time Operating Systems
Qt on Real Time Operating SystemsQt on Real Time Operating Systems
Qt on Real Time Operating Systemsaccount inactive
 
Development with Qt for Windows CE
Development with Qt for Windows CEDevelopment with Qt for Windows CE
Development with Qt for Windows CEaccount inactive
 
Translating Qt Applications
Translating Qt ApplicationsTranslating Qt Applications
Translating Qt Applicationsaccount inactive
 
Qt State Machine Framework
Qt State Machine FrameworkQt State Machine Framework
Qt State Machine Frameworkaccount inactive
 
Mobile Development with Qt for Symbian
Mobile Development with Qt for SymbianMobile Development with Qt for Symbian
Mobile Development with Qt for Symbianaccount inactive
 
How to Make Your Qt App Look Native
How to Make Your Qt App Look NativeHow to Make Your Qt App Look Native
How to Make Your Qt App Look Nativeaccount inactive
 
Animation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIsAnimation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIsaccount inactive
 
Using Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with QtUsing Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with Qtaccount inactive
 
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)account inactive
 

Mais de account inactive (20)

Meet Qt
Meet QtMeet Qt
Meet Qt
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phones
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
 
The Future of Qt Widgets
The Future of Qt WidgetsThe Future of Qt Widgets
The Future of Qt Widgets
 
Scripting Your Qt Application
Scripting Your Qt ApplicationScripting Your Qt Application
Scripting Your Qt Application
 
Special Effects with Qt Graphics View
Special Effects with Qt Graphics ViewSpecial Effects with Qt Graphics View
Special Effects with Qt Graphics View
 
Developments in The Qt WebKit Integration
Developments in The Qt WebKit IntegrationDevelopments in The Qt WebKit Integration
Developments in The Qt WebKit Integration
 
Qt Kwan-Do
Qt Kwan-DoQt Kwan-Do
Qt Kwan-Do
 
Qt on Real Time Operating Systems
Qt on Real Time Operating SystemsQt on Real Time Operating Systems
Qt on Real Time Operating Systems
 
Development with Qt for Windows CE
Development with Qt for Windows CEDevelopment with Qt for Windows CE
Development with Qt for Windows CE
 
Translating Qt Applications
Translating Qt ApplicationsTranslating Qt Applications
Translating Qt Applications
 
Qt Creator Bootcamp
Qt Creator BootcampQt Creator Bootcamp
Qt Creator Bootcamp
 
Qt Widget In-Depth
Qt Widget In-DepthQt Widget In-Depth
Qt Widget In-Depth
 
Qt State Machine Framework
Qt State Machine FrameworkQt State Machine Framework
Qt State Machine Framework
 
Mobile Development with Qt for Symbian
Mobile Development with Qt for SymbianMobile Development with Qt for Symbian
Mobile Development with Qt for Symbian
 
How to Make Your Qt App Look Native
How to Make Your Qt App Look NativeHow to Make Your Qt App Look Native
How to Make Your Qt App Look Native
 
Animation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIsAnimation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIs
 
Using Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with QtUsing Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with Qt
 
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
 
The Mobility Project
The Mobility ProjectThe Mobility Project
The Mobility Project
 

Último

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Case Study: Porting Qt for Embedded Linux on Embedded Processors

  • 1. Porting Qt for Embedded Linux on Embedded Processors Frank Walzer – Texas Instruments
  • 2. Beagle Board Peripheral I/O OMAP3530 Processor DVI-D video out 600MHz Cortex-A8 10 cm SD/MMC+ NEON+VFPv3 S-Video out 16KB/16KB L1$ USB 2.0 HS OTG 256KB L2$ I2C, I2S, SPI, 430MHz C64x+ DSP 32K/32K L1$ MMC/SD 48K L1D JTAG 32K L2 Stereo in/out PowerVR SGX GPU Alternate power 64K on-chip RAM RS-232 serial POP Memory USB Powered 256MB LPDDR RAM 2W maximum consumption 256MB NAND flash OMAP is small % of that Many adapter options Car, wall, battery, solar, …
  • 3. Agenda • Motivation for using Qt at Texas Instruments • Porting Qt to TI Embedded Processors • What do we do with Qt? • Enhancing Qt through Accelerators • Future Frank Walzer Senior System Engineer Texas Instruments Germany f-walzer@ti.com
  • 4. Motivation • Complexity, complexity, complexity… • Reduce amount of time to build a real system – System software – Feature complete – Easy to learn & use – OS API abstraction – Cross-platform support – Modular & flexible – Open-source • So we found Qt™ • Many other options exist but none are matching our requirements any better
  • 5. Porting Qt to Embedded Processors • Many TI Embedded Processors are ARM core based – ARM supported as architecture in Qt – Qt Embedded Linux our standard choice • Follow the Qt build process – Get source download or use Git to clone Gitorious Qt tree(s) – Adaptation of mkspecs as needed – Configure, compile & test – Usually painless • Already tested devices – OMAP35xx family (Cortex-A8, DSP, PowerVR SGX) – AM35xx (Cortex-A8, PowerVR SGX) – OMAP-L137/L138 (ARM9, DSP) – DM365 and DM644x (ARM9) • Modifications to Qt sources? – Only once to work around a framebuffer issue (two lines of code) – 100% of demos and examples work unmodified – Expect changes needed for optimized hardware integration
  • 6. OMAP3530 Processor OMAP35x Processor C64x+™ DSP and Display Subsystem video accelerators (3525/3530 only) LCD ARM® Video 10 bit DAC Cont- roller Enc 10 bit DAC Cortex™-A8 CPU POWERVR SGX™ Camera I/F Graphics (3515/3530 only) Image Pipe Parallel I/F L3/L4 Interconnect Peripherals Connectivity System USB 2.0 HS Timers USB OTG GP x12 Host Controller x3 Controller WDT x2 Serial Interfaces Program/Data Storage McBSP I2C UART HDQ / x2 SDRC MMC/ x5 x3 1-wire SD/ GPMC SDIO McSPI UART x4 w/IRDA x3
  • 7. Our Use of Qt • Ability to support customers porting Qt – Drive Qt releases to include tested mkspecs targeting TI devices – Provide example configurations to enable advanced hardware • Creation of focused applications – Targeted end-equipment GUIs – Customer or major event support – From bare GUI prototype to full applications • Standard demonstrations – Using Qt demos and examples a lot! • Benchmarks – Either Qt demos & examples or small applications – qgears for graphics • Early system testing – Quick way to evaluate complex peripherals on new hardware
  • 8. Qt Application Development • Often done cross-platform – New hardware not available in time – More efficient on PC – 99% of Qt application source code can be directly cross- compiled with no modification • Serial port exception! • Porting final applications to multiple platforms – Embedded platforms supported with multiple operating systems – Again limited hardware availability – Identical GUI maybe shown using PC only – Rapid prototyping
  • 9. Development Experience • Focused on Qt Embedded Linux • Human Machine Interface demo – Done in 5 weeks – New graphical display & communications – 1 student + 0.5 engineers – Started on OMAP3 and ported to OMAP-L1 – New hardware, new to Qt • Weight Scale GUI prototype – 2 days – Developed on PC and tested on OMAP3 EVM using touch screen control • Several customer applications – Just compile and run – For benchmarking on different OS
  • 10. Demo Software Stack – OMAP-L1 OS: MV pro5 Linux Qt 4.5 framework abstracts OS API Application program using C++ Object Oriented Programming Debug on other platforms possible due to Qt 4.5 cross-platform support High abstraction on application level leads to fast development Temperature Demo Qt 4.5 Embedded Linux GUI/FB Serial IO TCP/IP Timer Linux API Graphic MV Pro5 Acceleration Linux Ethernet USB/ACM Display Timer (optional) ARM / Peripherals DSP
  • 11. Real Applications TSC2046 SPI OMAP3/ OMAP-L1xx
  • 12. Enhancing Qt • Full support for embedded hardware beyond ARM core – PowerVR SGX core for OpenGLES, OpenVG – C6xxx DSP for effective signal processing • Ready to use with Qt classes – Initial support in Qt for OpenGLES – Still evaluating best use cases • DSP designated for multimedia applications – Possible integration of TI gstreamer-plugin with Phonon? – Already requested by customers – Very early discussion phase • Optimizing Qt for dedicated hardware requires support from silicon vendor
  • 13. Future • Provide full Qt porting support – Using gitorious as platform – Update when new devices appear – Wiki: http://omap.wiki.com/Building_Qt • Evaluate Qt 4.6 SVG support – Does it integrate well with OpenVG API on OMAP3? • Drive Qt use in TI on world-wide level • Develop additional reference applications – Industrial automation market – Use Qt as GUI for process control software
  • 14. Summary • Customers can benefit from Qt in a similar way – Highly efficient development – Portable and re-usable (C++) – Great GUI creation tools – Same constraints on resources as we have • We stepped into Qt at the right time – Highly successful projects for TI – Lots of customer requests – Plays well with TI plans and needs for Embedded Processing