SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Overcoming Software Development
Challenges by Using An Integrated
Software Framework
q  This webinar will be available afterwards at
www.designworldonline.com & email
q  Q&A at the end of the presentation
q  Hashtag for this webinar: #DWwebinar
Before We Start
Moderator
Aimee Kalnoskas
EE World
Bud Caldwell
Microchip Technology
Anand Rangarajan
Microchip Technology
Presenters
Richard Barry
Real Time Engineers
Overcoming software development
challenges by using an integrated
software framework.
MPLAB® Harmony
Agenda
•  Embedded software development challenges
•  MPLAB® Harmony–Overview
•  Application migration video demo using MPLAB® Harmony
•  Third Party Feature Presentation:
•  Q&A
Challenges???
Increasing    development  time.	
   On  time    Project  Completion.	
  Time  to  Market,  Competition.  ($$$$$$$$$$$$)
Embedded Development Challenges
Embedded  Development	
Challenges	
 •   End  Systems  Sophistication  Increasing  	
•   Complexity  of  Projects  Growing	
•   Development  Time  Stretching	
•   S/W  %  Total  Development  Time*  à  60%	
• Switching  between  RTOS  leads  to  rework	
• Lack  of  software  compatibility  creates  new  bugs	
• Greater  Risk  with  Re-­‐‑Work  of  Code	
•   Challenge  to  Integrate  RTOS,  Middleware,	
Drivers  All  in  One  Platform	
•   Generally  Multiple  3rd  Party  Software  Suppliers	
*  2014  UBM  Embedded  Market  Study
Embedded Development Challenges
	
•   Increased  Verification  &  Debug  Time  Means	
	
Less  time  to  Focus  on  Critical  Applications	
•   60%  of  Software  Resource  Involved  in  Verification**	
• Defects  Found  during  Verification  Costs  10x  More  Than  Found  in  Design***	
	
•   Unpredictable  Future  Competitive  Environments	
•   Increasing  Pressure  to  Quickly  Adapt	
•   Economic  Risks  of  3rd  Party  Companies	
	
•   Difficult  to  Procure  all  the  S/W  Components  	
from  Single  Vendor’s  Website	
•   Full  Feature  Set  Offerings  are  Costly	
•   Sca[ered  Support  for  3rd  Party  Offerings	
Embedded  Development	
Challenges	
**  Defect  Prevention:  Reducing  Costs  and  Enhancing  Quality,  isixsigma  –  Mukesh  Soni	
***  Frequently  Forgo[en  Fundamental  Facts  about  Software  Engg,  IEEE  –  Robert  L  Glass
MPLAB® Harmony Solves!
MPLAB®  Harmony  Solution	
***  Frequently  Forgo[en  Fundamental  Facts  about  Software  Engg,  IEEE  –  Robert  L  Glass	
Customer  Code  Developed  in  Harmony  Framework  has  Higher  Reusability	
COMPLEXITY	
RE-­‐‑WORK	
INCONSISTENCY	
FRAGMENTED	
OBSOLOSCENCE	
Reduces  Development  Costs:	
REDUCE!	
Microchip  Tested,  Debugged,  Interoperable  Code  is  Ready  for  	
RE-­‐‑USE	
RE-­‐‑USE!	
Modular  Architecture  Enables  Efficient  Integration	
Pre-­‐‑tested  Software  Eliminates  These  Bugs	
SAVE!	
Single  Source  Support  for  MPLAB®  Harmony  Code  (including  3rd  party  solutions)  by  
Microchip	
Improved  Reaction  Time  to  Ever  Changing  Markets	
FUTURE	
PROOF!
•  MPLAB® Harmony is a comprehensive, interoperable,
tested software development framework for Microchip
PIC32 microcontrollers.  
o  The framework integrates both internal and 3rd party
middleware, drivers, peripheral libraries and real time
operating systems, simplifying and accelerating the 32-bit
code development process.
o  MPLAB® Harmony works within the MPLAB X IDE
development environment and is supported by Microchip.
§  First Line of Support
§  First line of support provided by Microchip for all Harmony
components, including third-party solutions
§  Comprehensive Web Portal
§  Includes Licensing, Resale, Technical Support & Collateral
for Microchip & third-party Harmony components
What is MPLAB® Harmony
Flexible	
Interoperable	
Compatible	
MPLAB®    	
      Harmony	
Modular	
Re-­‐‑Usable
Overview
ArchitectureCapabilities	
Bare-­‐‑Metal	
Adds	
ISR  Task  Processing	
ISR  Task  Prioritization	
Adds	
Multiple  Polled  Task  Processing	
Polled  Task  Prioritization  	
Adds	
RTOS  Specific  Capabilities	
OS  Programming  Model	
RTOS-­‐‑Based	
Consistent  State-­‐‑Machine  Format	
Free  Form	
RTOS	
Polled	
Solutions	
Interrupt	
Driven	
Solutions	
RTOS	
Agnostic	
Solutions	
RTOS	
Specific	
Solutions
Architecture
Software  Framework
Application	
Applications
Application  Initialization	
Application  Logic	
System  Configuration	
Different  Parts  of  
an  embedded  
application  serve  
different  
purposes.	
Peripheral  Logic	
System  Initialization	
System  Control  Logic	
Middleware  Logic	
Middleware  Initialization	
Peripheral  Initialization
Applications
Application	
Application  Initialization	
Application  Logic	
Framework	
Peripheral  Initialization	
Middleware  Logic	
Middleware  Initialization	
Peripheral  Logic	
System	
System  Configuration	
System  Initialization	
System  Control  Logic
Applications
MPLAB®  Harmony  
Libraries	
System  &  	
Configuration	
Code	
Framework	
Peripheral  Initialization	
Middleware  Logic	
System	
System  Configuration	
System  Initialization	
System  Control  Logic	
Middleware  Initialization	
Peripheral  Logic	
Your  Application  
Code	
Application	
Application  Initialization	
Application  Logic
Framework of Libraries
•  Interface Functions
o  Input, Process, Output
o  May have “Side Effects”
o  Treated as a “Black Box”
•  Module
o  One or more closely related functions
o  Share common data or resources
o  Maintain state of common resources
o  Interface stays the same, even if implementation changes
•  Provides Ability to “Divide & Conquer”
Multiple Clients & Instances
USART  1	
 USART  2	
USART	
Driver	
Multiple  Instances	
 Dynamic  library  modules  can  manage  multiple  
instances  of  same  hardware.	
•  Avoids  duplicating  library  code	
•  Simplifies  application  or  client  code	
•  Requires  use  of  an  instance  “index”	
Timer  1	
Timer  1	
Driver	
TCP/IP  
Console	
File  System	
Multiple  Clients	
 Multiple  unrelated  “clients”  can  access  
common  “server”  modules.	
•  Localizes  protection  &  maintenance  of  
shared  resources	
•  Isolates  clients  from  each  other	
•  Requires  use  of  a  client  “handle”
SW	
SW	
SW	
HW	
HW	
HW	
Multiple Clients & Instances
USART  2	
USART  1	
USART  2	
Driver	
USART  2	
Client  1	
USART  1	
Client	
USART  2	
Client  2	
USART  1	
 USART  2	
USART	
Driver	
USART  1	
Client  1	
USART  2	
Client  3	
USART  1	
Client  2	
USART  1	
Driver	
Static  Multi-­‐‑Client	
Static  Single-­‐‑Client	
Dynamic  Multi-­‐‑Client
System Configuration
int main(void)
{
SYS_Initialize();
while(true)
{
SYS_Tasks();
}
return(EXIT_VALUE);
}
#define APP_TMR_HW_ID TMR_ID_3
#define SYS_CLK_FREQUENCY 0x0BEBC200
#define APP_LED_BLINKING_RATE 0x0002625A
system_config.h
system_initialize.c
#pragma config FPLLODIV = DIV_1, FPLLMUL = MUL_20, FPLLIDIV = DIV_2, FWDTEN = OFF
#pragma config OSCIOFNC = ON, POSCMOD = HS, FSOSCEN = ON, FNOSC = PRIPLL
#pragma config ICESEL = ICS_PGx2
void SYS_Initialize( void )
{
/* Call all library & application initialization routines */
}
void SYS_Tasks( void )
{
/*Call all polled library & app "Tasks" routines*/
}
system_tasks.c
void __ISR ( _TIMER_3_VECTOR ) _ISR_TMR_3_stub ( void )
{
/* Call the timer library’s interrupt routine */
}
system_interrupt.c
Polled Configurations
main()
{
while(true)
{
GFX_Tasks();
TCP_Tasks();
SPI_Tasks();
}
}
Interrupt Driven Configurations
_SPI1_Interrupt()
{
SPI_Tasks();
}
main()
{
while(true)
{
GFX_Tasks();
TCP_Tasks();
}
}
GFX_Thread()
{
while(true)
{
GFX_Tasks();
}
}
RTOS Driven Configurations
TCP_Thread()
{
while(true)
{
TCP_Tasks();
}
}
_SPI1_Interrupt()
{
SPI_Tasks();
}
OSAL Services
OSAL	
Semaphores	
Mutexes	
Memory  
Allocation	
Critical  
Sections	
Control  and  
Diagnostics	
•  Multi-Thread Safety
•  Multi-Thread
Synchronization
•  RTOS Compatibility
•  OS Agnostic or
“Bare Metal"
•  Light-weight
MPLAB® Harmony –Summary/Next steps
•  Modular  architecture  allows  Drivers  and  Libraries  to  work  together  with  minimal  effort	
•  Applications  can  be  easily  ported  to  different  boards	
Improved  Code  Interoperability  	
•  Integrated  single  platform  enables  shorter  development  time	
•  Able  to  easily  add  features	
Faster  Time  to  Market  for  
Customers	
•  Improves  scalability  across  PIC32  Microchip  parts  to  custom  fit  customers  requirement	
Improved  Compatibility	
•  Common  SW  platform  with  standard  interface  ensures  efficient  Microchip  support	
•  One  stop  support  for  all  customer  needs	
Simplified  Support	
•  MPLAB®  Harmony  integrates  third  party  solutions  (RTOS,  Middleware,  Drivers  etc)  into  the  
software  framework  seamlessly	
Enhanced  3rd  party  software  
integration	
Where  to  get  MPLAB®  Harmony?	
• Basic  framework  is  FREE!	
• Select  Tools  &  Libraries  have  a  premium.	
Pricing	
• Download  MPLAB®  Harmony  at  www.microchip.com/Harmony
MPLAB® Harmony
Application Migration Demo
Application Overview
•  Basic graphics application
with USB and file system
services.
•  D4 on Display is synced up
with on board LED D4.
	
●  Display  prompts  the  user  to  
insert  the  USB  drive.	
●  Once  the  USB  Pen  drive  is  
inserted,  the  applications  reads  a  
file  and  displays  the  text  on  the  
screen.
Application Overview
On  USB  Pen  drive  insertion,  the  
applications  reads  a  file    from  the  drive	
  and  displays  the  text  on  the  screen.
Application Migration Platforms
PIC32MZ Embedded Connectivity Starter kit + PIC32
Multi-media Expansion Board II (MEB II)
PIC32 Ethernet Starter kit II +
PIC32 Multi-media Expansion Board (MEB I)
•  Microcontroller :
PIC32MZ2048ECH144 (200 MHz, 2 MB Flash and
512 KB RAM)
•  Low Cost Controller less Graphics (L.C.C.G).
•  4.3" WQVGA PCAP touch display
•  Microcontroller :
PIC32MX795F512L (80 MHz, 512KB Flash and
128 KB RAM)
•  Solomon Systech Graphics Controller (SSD1926)
•   3.2 color TFT touch-screen QVGA display
•  Microcontroller :
PIC32MZ2048ECH144 (200 MHz,
2 MB Flash and 512 KB RAM)
•  Low Cost Controller less Graphics (L.C.C.G).
•  4.3" WQVGA PCAP touch display
Application Migration Summary
•  Microcontroller :
PIC32MX795F512L (80 MHz, 512KB
Flash and 128 KB RAM)
•  Solomon Systech Graphics Controller (SSD1926)
•   3.2 color TFT touch-screen QVGA display
v  Application Migration with just some basic
configuration changes .
v  Not a single line of code needed to be written.
v  Efficient, time-saving.
PIC32MZ Embedded Connectivity Starter kit + PIC32
Multi-media Expansion Board II (MEB II)
PIC32 Ethernet Starter kit II +
PIC32 Multi-media Expansion Board (MEB I)
Value Proposition
FreeRTOS’s compelling value
proposition, which has made it the
market leading RTOS in the MCU
space, is delivered directly to
Microchip customers within the
Harmony ecosystem
High  quality  C  source  code  under  strict  quality  control	
Safety  critical  version  ensures  dependability	
Tutorial  books  and  training  to  educate  engineers	
Pre-­‐‑configured  example  projects	
Free  first  class  support	
Large/growing  user  base  and  community  (>113K  downloads  in  2014)	
Peace  of  mind  -­‐‑  low  cost  commercial  options  can  be  taken  at  any  time	
=      A  low  total  cost  of  ownership,  risk  free,  &  compelling  solution
Ease of Use Benefit #1
•  Automatic inclusion of correct
source files
Ease of Use Benefit #2
•  Automatic creation of
configuration file
Ease of Use Benefit #3
•  Automatic creation of
system interrupts
•  No need for any assembly
coding
Ease of Use Benefit #4
•  Automatic creation of
system tasks
Developer Support
MPLAB® Harmony Configurator- graphical
system and middleware configuration
Attend the Second Webinar of the MPLAB® Harmony
series to learn:
v In depth Hands-on Demo of MPLAB® Harmony
Configurator.
v Integrating Network Connectivity in an embedded
design.
Featured Ecosystem Partner:
May 20 2015
2-3pm EST
MPLAB® Harmony Ecosystem
Attend the third Webinar of the MPLAB® Harmony
series to learn:
v  Benefits of using MPLAB® Harmony for integrating
third party solutions.
v  How MPLAB® Harmony simplifies software purchase
and eases support.
Featured Ecosystem Partner:
May 27 2015
2-3pm EST
Questions?
Bud Caldwell
Microchip Technology
www.microchip.com/harmony
Aimee Kalnoskas
EE World
akalnoskas@wtwhmedia.com
Anand Rangarajan
Microchip Technology
www.microchip.com/harmony
Richard Barry
Real Time Engineers Ltd.
www.FreeRTOS.org/contact
Thank You
q  This webinar will be available at
designworldonline.com & email
q  Tweet with hashtag #DWwebinar
q  Connect with Design World
q  Discuss this on EngineeringExchange.com

Más contenido relacionado

La actualidad más candente

Psi multi accessgateway_casestudy
Psi multi accessgateway_casestudyPsi multi accessgateway_casestudy
Psi multi accessgateway_casestudy
Primesoftinc
 
Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)
Phani Thoota
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Real-Time Innovations (RTI)
 

La actualidad más candente (20)

Rashmi_Resume
Rashmi_ResumeRashmi_Resume
Rashmi_Resume
 
Installing Installing IBM Rational Rhapsody Designer and Architect for MBSE
Installing Installing IBM Rational Rhapsody Designer and Architect for MBSEInstalling Installing IBM Rational Rhapsody Designer and Architect for MBSE
Installing Installing IBM Rational Rhapsody Designer and Architect for MBSE
 
InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...
 
Psi multi accessgateway_casestudy
Psi multi accessgateway_casestudyPsi multi accessgateway_casestudy
Psi multi accessgateway_casestudy
 
JIT Compiler
JIT CompilerJIT Compiler
JIT Compiler
 
App Optimizations Using Qualcomm Snapdragon LLVM Compiler for Android
App Optimizations Using Qualcomm Snapdragon LLVM Compiler for AndroidApp Optimizations Using Qualcomm Snapdragon LLVM Compiler for Android
App Optimizations Using Qualcomm Snapdragon LLVM Compiler for Android
 
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
 
Service Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise EnvironmentsService Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise Environments
 
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudFlexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
 
InterConnect 2017 : Mastering the z Systems Development and Test Environment ...
InterConnect 2017 : Mastering the z Systems Development and Test Environment ...InterConnect 2017 : Mastering the z Systems Development and Test Environment ...
InterConnect 2017 : Mastering the z Systems Development and Test Environment ...
 
Cross compiling android applications
Cross compiling android applicationsCross compiling android applications
Cross compiling android applications
 
Drinking our own champagne - z Systems Development and Test Environment V10
Drinking our own champagne - z Systems Development and Test Environment V10Drinking our own champagne - z Systems Development and Test Environment V10
Drinking our own champagne - z Systems Development and Test Environment V10
 
'Hear' & Now: Software Integration for the Qualcomm Snapdragon Audio Feature
'Hear' & Now: Software Integration for the Qualcomm Snapdragon Audio Feature 'Hear' & Now: Software Integration for the Qualcomm Snapdragon Audio Feature
'Hear' & Now: Software Integration for the Qualcomm Snapdragon Audio Feature
 
Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...
 
RTF - Prasad bhatt
RTF - Prasad bhattRTF - Prasad bhatt
RTF - Prasad bhatt
 
OpenVINO introduction
OpenVINO introductionOpenVINO introduction
OpenVINO introduction
 
Mainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live DataMainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live Data
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Prasad_CTP
Prasad_CTPPrasad_CTP
Prasad_CTP
 

Similar a Overcoming software development challenges by using an integrated software framework

Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)
simon56
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
Srikanth Pilli
 

Similar a Overcoming software development challenges by using an integrated software framework (20)

Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...
 
MPLAB® Harmony Configurator – Graphical system and middleware configuration
MPLAB® Harmony Configurator – Graphical system and middleware configurationMPLAB® Harmony Configurator – Graphical system and middleware configuration
MPLAB® Harmony Configurator – Graphical system and middleware configuration
 
2 mobile development frameworks and tools dark temp
2   mobile development frameworks and tools dark temp2   mobile development frameworks and tools dark temp
2 mobile development frameworks and tools dark temp
 
E.s unit 6
E.s unit 6E.s unit 6
E.s unit 6
 
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTUtilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Remote Web Desk
Remote Web DeskRemote Web Desk
Remote Web Desk
 
Node.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontendsNode.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontends
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
Morphis Technologies Overview
Morphis Technologies OverviewMorphis Technologies Overview
Morphis Technologies Overview
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
tranning synopsis(java programming).pdf
tranning synopsis(java programming).pdftranning synopsis(java programming).pdf
tranning synopsis(java programming).pdf
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Microservices.pdf
Microservices.pdfMicroservices.pdf
Microservices.pdf
 

Más de Design World

Más de Design World (20)

Best practices for optimizing performance and reducing costs when selecting a...
Best practices for optimizing performance and reducing costs when selecting a...Best practices for optimizing performance and reducing costs when selecting a...
Best practices for optimizing performance and reducing costs when selecting a...
 
Five Steps to Optimize Casting and Eliminate Defects
Five Steps to Optimize Casting and Eliminate DefectsFive Steps to Optimize Casting and Eliminate Defects
Five Steps to Optimize Casting and Eliminate Defects
 
Meeting the Motion Needs of Flexible Automation
Meeting the Motion Needs of Flexible AutomationMeeting the Motion Needs of Flexible Automation
Meeting the Motion Needs of Flexible Automation
 
Proper coupling selection: what you’re probably missing
Proper coupling selection: what you’re probably missingProper coupling selection: what you’re probably missing
Proper coupling selection: what you’re probably missing
 
Curved Motion System Design for Machinery and Automation
Curved Motion System Design for Machinery and AutomationCurved Motion System Design for Machinery and Automation
Curved Motion System Design for Machinery and Automation
 
See How the SOLIDWORKS Ecosystem Delivers on Design Innovation
See How the SOLIDWORKS Ecosystem Delivers on Design InnovationSee How the SOLIDWORKS Ecosystem Delivers on Design Innovation
See How the SOLIDWORKS Ecosystem Delivers on Design Innovation
 
Proper Hose Assembly Guidelines
Proper Hose Assembly GuidelinesProper Hose Assembly Guidelines
Proper Hose Assembly Guidelines
 
Product Development Ecosystems: Defining Your Value in the Digital Age
Product Development Ecosystems: Defining Your Value in the Digital AgeProduct Development Ecosystems: Defining Your Value in the Digital Age
Product Development Ecosystems: Defining Your Value in the Digital Age
 
Challenges & Emerging Solutions through Micro Molding
Challenges & Emerging Solutions through Micro MoldingChallenges & Emerging Solutions through Micro Molding
Challenges & Emerging Solutions through Micro Molding
 
Encoder integration in 2016: New modes of installation, networking, and more
Encoder integration in 2016: New modes of installation, networking, and moreEncoder integration in 2016: New modes of installation, networking, and more
Encoder integration in 2016: New modes of installation, networking, and more
 
Why should you make tooling with 3D printing?
Why should you make tooling with 3D printing?Why should you make tooling with 3D printing?
Why should you make tooling with 3D printing?
 
Ethernet or EtherCAT for Motion Control: Choosing the Right Network for Your ...
Ethernet or EtherCAT for Motion Control: Choosing the Right Network for Your ...Ethernet or EtherCAT for Motion Control: Choosing the Right Network for Your ...
Ethernet or EtherCAT for Motion Control: Choosing the Right Network for Your ...
 
New Innovations in Linear Guides for Transportation and Automation
New Innovations in Linear Guides for Transportation and AutomationNew Innovations in Linear Guides for Transportation and Automation
New Innovations in Linear Guides for Transportation and Automation
 
Clean-in-place: how to ensure food safety while maintaining equipment effecti...
Clean-in-place: how to ensure food safety while maintaining equipment effecti...Clean-in-place: how to ensure food safety while maintaining equipment effecti...
Clean-in-place: how to ensure food safety while maintaining equipment effecti...
 
Advanced Motor Control Technologies – Part 2
Advanced Motor Control Technologies – Part 2Advanced Motor Control Technologies – Part 2
Advanced Motor Control Technologies – Part 2
 
Advanced Motor Control Technologies – Part 1
Advanced Motor Control Technologies – Part 1Advanced Motor Control Technologies – Part 1
Advanced Motor Control Technologies – Part 1
 
Understanding Hydraulic Pump Designs
Understanding Hydraulic Pump DesignsUnderstanding Hydraulic Pump Designs
Understanding Hydraulic Pump Designs
 
Prototype Smarter – transitioning to production faster and more effectively
 Prototype Smarter – transitioning to production faster and more effectively Prototype Smarter – transitioning to production faster and more effectively
Prototype Smarter – transitioning to production faster and more effectively
 
How to Build Rotary Indexing Tables for Specific Applications
How to Build Rotary Indexing Tables for Specific ApplicationsHow to Build Rotary Indexing Tables for Specific Applications
How to Build Rotary Indexing Tables for Specific Applications
 
We Got a Warning Letter – Now What? How to Keep Calm in a Compliance Storm
We Got a Warning Letter – Now What? How to Keep Calm in a Compliance StormWe Got a Warning Letter – Now What? How to Keep Calm in a Compliance Storm
We Got a Warning Letter – Now What? How to Keep Calm in a Compliance Storm
 

Último

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 

Overcoming software development challenges by using an integrated software framework

  • 1. Overcoming Software Development Challenges by Using An Integrated Software Framework
  • 2. q  This webinar will be available afterwards at www.designworldonline.com & email q  Q&A at the end of the presentation q  Hashtag for this webinar: #DWwebinar Before We Start
  • 3. Moderator Aimee Kalnoskas EE World Bud Caldwell Microchip Technology Anand Rangarajan Microchip Technology Presenters Richard Barry Real Time Engineers
  • 4. Overcoming software development challenges by using an integrated software framework. MPLAB® Harmony
  • 5. Agenda •  Embedded software development challenges •  MPLAB® Harmony–Overview •  Application migration video demo using MPLAB® Harmony •  Third Party Feature Presentation: •  Q&A
  • 6. Challenges??? Increasing    development  time.  On  time    Project  Completion.  Time  to  Market,  Competition.  ($$$$$$$$$$$$)
  • 7. Embedded Development Challenges Embedded  Development Challenges •   End  Systems  Sophistication  Increasing   •   Complexity  of  Projects  Growing •   Development  Time  Stretching •   S/W  %  Total  Development  Time*  à  60% • Switching  between  RTOS  leads  to  rework • Lack  of  software  compatibility  creates  new  bugs • Greater  Risk  with  Re-­‐‑Work  of  Code •   Challenge  to  Integrate  RTOS,  Middleware, Drivers  All  in  One  Platform •   Generally  Multiple  3rd  Party  Software  Suppliers *  2014  UBM  Embedded  Market  Study
  • 8. Embedded Development Challenges •   Increased  Verification  &  Debug  Time  Means Less  time  to  Focus  on  Critical  Applications •   60%  of  Software  Resource  Involved  in  Verification** • Defects  Found  during  Verification  Costs  10x  More  Than  Found  in  Design*** •   Unpredictable  Future  Competitive  Environments •   Increasing  Pressure  to  Quickly  Adapt •   Economic  Risks  of  3rd  Party  Companies •   Difficult  to  Procure  all  the  S/W  Components   from  Single  Vendor’s  Website •   Full  Feature  Set  Offerings  are  Costly •   Sca[ered  Support  for  3rd  Party  Offerings Embedded  Development Challenges **  Defect  Prevention:  Reducing  Costs  and  Enhancing  Quality,  isixsigma  –  Mukesh  Soni ***  Frequently  Forgo[en  Fundamental  Facts  about  Software  Engg,  IEEE  –  Robert  L  Glass
  • 9. MPLAB® Harmony Solves! MPLAB®  Harmony  Solution ***  Frequently  Forgo[en  Fundamental  Facts  about  Software  Engg,  IEEE  –  Robert  L  Glass Customer  Code  Developed  in  Harmony  Framework  has  Higher  Reusability COMPLEXITY RE-­‐‑WORK INCONSISTENCY FRAGMENTED OBSOLOSCENCE Reduces  Development  Costs: REDUCE! Microchip  Tested,  Debugged,  Interoperable  Code  is  Ready  for   RE-­‐‑USE RE-­‐‑USE! Modular  Architecture  Enables  Efficient  Integration Pre-­‐‑tested  Software  Eliminates  These  Bugs SAVE! Single  Source  Support  for  MPLAB®  Harmony  Code  (including  3rd  party  solutions)  by   Microchip Improved  Reaction  Time  to  Ever  Changing  Markets FUTURE PROOF!
  • 10. •  MPLAB® Harmony is a comprehensive, interoperable, tested software development framework for Microchip PIC32 microcontrollers.   o  The framework integrates both internal and 3rd party middleware, drivers, peripheral libraries and real time operating systems, simplifying and accelerating the 32-bit code development process. o  MPLAB® Harmony works within the MPLAB X IDE development environment and is supported by Microchip. §  First Line of Support §  First line of support provided by Microchip for all Harmony components, including third-party solutions §  Comprehensive Web Portal §  Includes Licensing, Resale, Technical Support & Collateral for Microchip & third-party Harmony components What is MPLAB® Harmony Flexible Interoperable Compatible MPLAB®          Harmony Modular Re-­‐‑Usable
  • 12. ArchitectureCapabilities Bare-­‐‑Metal Adds ISR  Task  Processing ISR  Task  Prioritization Adds Multiple  Polled  Task  Processing Polled  Task  Prioritization   Adds RTOS  Specific  Capabilities OS  Programming  Model RTOS-­‐‑Based Consistent  State-­‐‑Machine  Format Free  Form RTOS Polled Solutions Interrupt Driven Solutions RTOS Agnostic Solutions RTOS Specific Solutions
  • 14. Application Applications Application  Initialization Application  Logic System  Configuration Different  Parts  of   an  embedded   application  serve   different   purposes. Peripheral  Logic System  Initialization System  Control  Logic Middleware  Logic Middleware  Initialization Peripheral  Initialization
  • 15. Applications Application Application  Initialization Application  Logic Framework Peripheral  Initialization Middleware  Logic Middleware  Initialization Peripheral  Logic System System  Configuration System  Initialization System  Control  Logic
  • 16. Applications MPLAB®  Harmony   Libraries System  &   Configuration Code Framework Peripheral  Initialization Middleware  Logic System System  Configuration System  Initialization System  Control  Logic Middleware  Initialization Peripheral  Logic Your  Application   Code Application Application  Initialization Application  Logic
  • 17. Framework of Libraries •  Interface Functions o  Input, Process, Output o  May have “Side Effects” o  Treated as a “Black Box” •  Module o  One or more closely related functions o  Share common data or resources o  Maintain state of common resources o  Interface stays the same, even if implementation changes •  Provides Ability to “Divide & Conquer”
  • 18. Multiple Clients & Instances USART  1 USART  2 USART Driver Multiple  Instances Dynamic  library  modules  can  manage  multiple   instances  of  same  hardware. •  Avoids  duplicating  library  code •  Simplifies  application  or  client  code •  Requires  use  of  an  instance  “index” Timer  1 Timer  1 Driver TCP/IP   Console File  System Multiple  Clients Multiple  unrelated  “clients”  can  access   common  “server”  modules. •  Localizes  protection  &  maintenance  of   shared  resources •  Isolates  clients  from  each  other •  Requires  use  of  a  client  “handle”
  • 19. SW SW SW HW HW HW Multiple Clients & Instances USART  2 USART  1 USART  2 Driver USART  2 Client  1 USART  1 Client USART  2 Client  2 USART  1 USART  2 USART Driver USART  1 Client  1 USART  2 Client  3 USART  1 Client  2 USART  1 Driver Static  Multi-­‐‑Client Static  Single-­‐‑Client Dynamic  Multi-­‐‑Client
  • 20. System Configuration int main(void) { SYS_Initialize(); while(true) { SYS_Tasks(); } return(EXIT_VALUE); } #define APP_TMR_HW_ID TMR_ID_3 #define SYS_CLK_FREQUENCY 0x0BEBC200 #define APP_LED_BLINKING_RATE 0x0002625A system_config.h system_initialize.c #pragma config FPLLODIV = DIV_1, FPLLMUL = MUL_20, FPLLIDIV = DIV_2, FWDTEN = OFF #pragma config OSCIOFNC = ON, POSCMOD = HS, FSOSCEN = ON, FNOSC = PRIPLL #pragma config ICESEL = ICS_PGx2 void SYS_Initialize( void ) { /* Call all library & application initialization routines */ } void SYS_Tasks( void ) { /*Call all polled library & app "Tasks" routines*/ } system_tasks.c void __ISR ( _TIMER_3_VECTOR ) _ISR_TMR_3_stub ( void ) { /* Call the timer library’s interrupt routine */ } system_interrupt.c
  • 24. OSAL Services OSAL Semaphores Mutexes Memory   Allocation Critical   Sections Control  and   Diagnostics •  Multi-Thread Safety •  Multi-Thread Synchronization •  RTOS Compatibility •  OS Agnostic or “Bare Metal" •  Light-weight
  • 25. MPLAB® Harmony –Summary/Next steps •  Modular  architecture  allows  Drivers  and  Libraries  to  work  together  with  minimal  effort •  Applications  can  be  easily  ported  to  different  boards Improved  Code  Interoperability   •  Integrated  single  platform  enables  shorter  development  time •  Able  to  easily  add  features Faster  Time  to  Market  for   Customers •  Improves  scalability  across  PIC32  Microchip  parts  to  custom  fit  customers  requirement Improved  Compatibility •  Common  SW  platform  with  standard  interface  ensures  efficient  Microchip  support •  One  stop  support  for  all  customer  needs Simplified  Support •  MPLAB®  Harmony  integrates  third  party  solutions  (RTOS,  Middleware,  Drivers  etc)  into  the   software  framework  seamlessly Enhanced  3rd  party  software   integration Where  to  get  MPLAB®  Harmony? • Basic  framework  is  FREE! • Select  Tools  &  Libraries  have  a  premium. Pricing • Download  MPLAB®  Harmony  at  www.microchip.com/Harmony
  • 27. Application Overview •  Basic graphics application with USB and file system services. •  D4 on Display is synced up with on board LED D4. ●  Display  prompts  the  user  to   insert  the  USB  drive. ●  Once  the  USB  Pen  drive  is   inserted,  the  applications  reads  a   file  and  displays  the  text  on  the   screen.
  • 28. Application Overview On  USB  Pen  drive  insertion,  the   applications  reads  a  file    from  the  drive  and  displays  the  text  on  the  screen.
  • 29. Application Migration Platforms PIC32MZ Embedded Connectivity Starter kit + PIC32 Multi-media Expansion Board II (MEB II) PIC32 Ethernet Starter kit II + PIC32 Multi-media Expansion Board (MEB I) •  Microcontroller : PIC32MZ2048ECH144 (200 MHz, 2 MB Flash and 512 KB RAM) •  Low Cost Controller less Graphics (L.C.C.G). •  4.3" WQVGA PCAP touch display •  Microcontroller : PIC32MX795F512L (80 MHz, 512KB Flash and 128 KB RAM) •  Solomon Systech Graphics Controller (SSD1926) •   3.2 color TFT touch-screen QVGA display
  • 30. •  Microcontroller : PIC32MZ2048ECH144 (200 MHz, 2 MB Flash and 512 KB RAM) •  Low Cost Controller less Graphics (L.C.C.G). •  4.3" WQVGA PCAP touch display Application Migration Summary •  Microcontroller : PIC32MX795F512L (80 MHz, 512KB Flash and 128 KB RAM) •  Solomon Systech Graphics Controller (SSD1926) •   3.2 color TFT touch-screen QVGA display v  Application Migration with just some basic configuration changes . v  Not a single line of code needed to be written. v  Efficient, time-saving. PIC32MZ Embedded Connectivity Starter kit + PIC32 Multi-media Expansion Board II (MEB II) PIC32 Ethernet Starter kit II + PIC32 Multi-media Expansion Board (MEB I)
  • 31.
  • 32. Value Proposition FreeRTOS’s compelling value proposition, which has made it the market leading RTOS in the MCU space, is delivered directly to Microchip customers within the Harmony ecosystem High  quality  C  source  code  under  strict  quality  control Safety  critical  version  ensures  dependability Tutorial  books  and  training  to  educate  engineers Pre-­‐‑configured  example  projects Free  first  class  support Large/growing  user  base  and  community  (>113K  downloads  in  2014) Peace  of  mind  -­‐‑  low  cost  commercial  options  can  be  taken  at  any  time =      A  low  total  cost  of  ownership,  risk  free,  &  compelling  solution
  • 33. Ease of Use Benefit #1 •  Automatic inclusion of correct source files
  • 34. Ease of Use Benefit #2 •  Automatic creation of configuration file
  • 35. Ease of Use Benefit #3 •  Automatic creation of system interrupts •  No need for any assembly coding
  • 36. Ease of Use Benefit #4 •  Automatic creation of system tasks
  • 38.
  • 39. MPLAB® Harmony Configurator- graphical system and middleware configuration Attend the Second Webinar of the MPLAB® Harmony series to learn: v In depth Hands-on Demo of MPLAB® Harmony Configurator. v Integrating Network Connectivity in an embedded design. Featured Ecosystem Partner: May 20 2015 2-3pm EST
  • 40. MPLAB® Harmony Ecosystem Attend the third Webinar of the MPLAB® Harmony series to learn: v  Benefits of using MPLAB® Harmony for integrating third party solutions. v  How MPLAB® Harmony simplifies software purchase and eases support. Featured Ecosystem Partner: May 27 2015 2-3pm EST
  • 41. Questions? Bud Caldwell Microchip Technology www.microchip.com/harmony Aimee Kalnoskas EE World akalnoskas@wtwhmedia.com Anand Rangarajan Microchip Technology www.microchip.com/harmony Richard Barry Real Time Engineers Ltd. www.FreeRTOS.org/contact
  • 42. Thank You q  This webinar will be available at designworldonline.com & email q  Tweet with hashtag #DWwebinar q  Connect with Design World q  Discuss this on EngineeringExchange.com