mplab® harmony ecosystem

55

Click here to load reader

Upload: design-world

Post on 24-Jul-2015

148 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: MPLAB® Harmony Ecosystem

MPLAB Harmony Ecosytem

Page 2: MPLAB® Harmony Ecosystem

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

Page 3: MPLAB® Harmony Ecosystem

Kurt Parker Microchip Technology

Presenters

Chris Conlon WolfSSL Inc.

Michael May Express Logic

James Murphy Segger Microcontroller

Systems LLC

Steve Ridley WITTENSTEIN

high integrity systems

Matt Gordon Micrium

Page 4: MPLAB® Harmony Ecosystem

MPLAB® Harmony Ecosystem

Page 5: MPLAB® Harmony Ecosystem

Agenda •  MPLAB® Harmony Ecosystem. •  Third Party Feature Presentation:

•  Q&A.

Page 6: MPLAB® Harmony Ecosystem

•  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

Page 7: MPLAB® Harmony Ecosystem

MPLAB® Harmony Configurator (MHC)

Ø MHC enables: ü  Create - Harmony

project ü  Graphically select &

configure - Harmony components

ü  Initialize - Middleware state machines

ü  Generated project can be compiled and executed

ü  3rd Party Solutions can be added and configured without updates to MHC

Page 8: MPLAB® Harmony Ecosystem

Harmony - Current USB TCP/IP Graphics File  System/

Memories System  Services

• USB  2.0  Host  &  Device • Device  Stack  v1.0 • Device  Multi-­‐‑Instance • Device  Classes:  CDC,  HID,  Audio,  MSD,  Generic

• USB  Host  Stack  (Beta) • Host  support  for  multiple  peripherals • Host  class  support:  CDC,  MSD

•  IPv4/IPv6 •  10/100  Mbps  Enet  MAC  with  MII  &  RMII •  HTTP  Server  (MPFS,  FAT  FS) •  BSD  TCP/UDP  Server •  BSD  TCP/UDP  Client •  TCP  Server  &  Client   •  UDP  Server  &  Client •  SNMP  Server  (MPFS,  FAT  FS) •  wolfSSL  (SSL  Library) • MRF24WG  Wi-­‐‑Fi  MAC •  Broad  Range  of  Wi-­‐‑Fi  Demos

• Java-­‐‑based  MHC • Java-­‐‑  based  GDDX • Java-­‐‑based  GRC

• MHC  integrated.   • GFX  Library • Touch

•  Hardware  and  File  System  Type  Independent  “Virtual”  File  System  API

•  FAT32 •  MPFS  (Microchip  FS) •  RTOS  friendly •  Multi  instance  capable •  Multi-­‐‑File  System •  Multi-­‐‑Partition •  Multi-­‐‑Drive •  SD  Card •  Flash  Drive •  Harmony  Compatible  FatFs  file  system

• Clk • Command • Devcon • DMA • File  System • Interrupt • Ports • Random

Security MHC Drivers/ PLIB

• Cryptographic  Library • Compression  and  Hash  Libraries • Embedded  SSL  Library  (CyaSSL)

• Static  Drivers • Configuration  for  all  modules • Pin  Manager • Clock  Management • 3rd  party  configuration • Integrated  documentation • All  Harmony  projects  under  MHC  control

Drivers: •  PIC32MX:

•  Ethernet,  WiFi,  USB •  UART,  SPI,  CAN •  GFX,  Timer,  PMP

•  PIC32MZ: •  Ethernet,  WiFi,  HSUSB •  UART,  SPI,  CAN •  GFX,  Timer,  PMP

PLIBs: •  PIC32MX320_340_360_420_440_460 •  PIC32MX575/675/695/775 •  PIC32MX534/564/664/764 •  PIC32MX1XX/2XX •  PIC32MX1XX/2XX  (256KB/64KB) •  PIC32MX330_350_370_430_450_470   •  PIC32MX320_340_360_420_440_460   •  PIC32MX1XX/2XX/5XX  (beta)

Make  More!

Make  BeJer!

Page 9: MPLAB® Harmony Ecosystem

The Value in Partnerships Developers benefit through Harmony’s ecosystem: •  Choice •  Expertise •  Integration •  Collaboration

Page 10: MPLAB® Harmony Ecosystem

Roll Call of Harmony Ecosystem

Page 11: MPLAB® Harmony Ecosystem

Software Delivery Delivered  with  

Harmony Purchase  directly  from  Microchip

Access  from  Partner’s  Website

Page 12: MPLAB® Harmony Ecosystem

Integrated into MHC

Integration  into  MPLAB®  Harmony  Configurator  

means  that  Partner  code  is  configured  for  your  project  without  tedious  and  error  prone  code  development  or  register  value  manipulation.

Page 13: MPLAB® Harmony Ecosystem

Partner Presentations… •  Observe

•  Log questions to be asked at the end

•  Harmony Ecosystem Partners: Depth, Breadth, Integration, Top Quality

Page 14: MPLAB® Harmony Ecosystem
Page 15: MPLAB® Harmony Ecosystem

wolfSSL Overview Founded: 2004 Location: Bozeman, MT

Seattle, WA Portland, OR

Our Focus: Open Source Embedded Security (for Applications, Devices, IoT, and the Cloud)

2011201220132014

3 employees

9 employees

11 employees

15 employees

150 OEM Customers

10 Resale Partners

Products: - wolfSSL - wolfSSL FIPS - wolfCrypt - wolfSSH - wolfSCEP - wolfSSL Inspection - yaSSL

Page 16: MPLAB® Harmony Ecosystem

wolfSSL Embedded SSL/TLS •  Features

o  C-language based SSL/TLS library o  Standards up to TLS 1.2 and DTLS 1.2 o  Focused on size and speed optimization, progressive o  Minimum footprint size of 20-100 kB o  Minimum RAM usage: 1-36kB

o  Web server integration (NGINX, Lighttpd, Mongoose, GoAhead)

o  OpenSSL Compatibility Layer o  Hardware Crypto Support (including Microchip PIC32MZ) o  Suite-B Compatible, FIPS 140-2 (Level 1) in process o  Dual Licensed (GPLv2 and Commercial)

Page 17: MPLAB® Harmony Ecosystem

wolfSSL Embedded SSL/TLS

•  Algorithm Support

MD2, MD4, MD5, SHA-1, SHA-2, SHA-3, RIPEMD

AES, DES, 3DES, Camellia

ARC4, RABBIT, HC-128, ChaCha20

AES-GCM, AES-CCM, Poly1305

RSA, ECC, DSS, DH, EDH

HMAC, PBKDF2

Hash FunctionsBlock CiphersStream CiphersAuthenticated CiphersPublic Key OptionsPassword-based Key Derivation

RED = Supports PIC32MZ Hardware Crypto

Page 18: MPLAB® Harmony Ecosystem

wolfSSL Embedded SSL/TLS •  Ability to take advantage of PIC32MZ Hardware Crypto

0.0  

1.0  

2.0  

3.0  

4.0  

5.0  

6.0  

7.0  

TDES AES-­‐‑CBC AES-­‐‑CTR

Mb/s

Software Hardware

0.0   2.0   4.0   6.0   8.0   10.0   12.0   14.0   16.0   18.0  

MD5 SHA SHA-­‐‑256

Mb/s

PIC32MZ/SW PIC32MZ/HW

Page 19: MPLAB® Harmony Ecosystem

Harmony Integration •  Available from MPLAB Harmony Configurator

•  wolfCrypt o  Harmony Framework Configuration -> Cryptographic (Crypto) Library

•  wolfSSL (CyaSSL) o  Third Party Libraries -> TCPIP -> CyaSSL -> Use CyaSSL

•  Easy to use, various configurable options available

Page 20: MPLAB® Harmony Ecosystem

Why wolfSSL?

•  Advantages to wolfSSL: o  Written from the Ground Up. wolfSSL owns the Copyright. o  Built for portability, modularity, and performance. o  Strong, collaborative partnership with Microchip. Tight integration with Harmony. o  Commitment to new Ciphers, Features, and addressing ongoing security threats. o  Current SSL/TLS/DTLS protocol support up to TLS 1.2, DTLS 1.2 o  Community, User, and Professional vetted since 2006

Page 21: MPLAB® Harmony Ecosystem

Contact wolfSSL

•  Feel free to reach out with any questions or comments:

o  [email protected] o  [email protected] o  Phone: +1 (425) 245 - 8247

Page 22: MPLAB® Harmony Ecosystem
Page 23: MPLAB® Harmony Ecosystem
Page 24: MPLAB® Harmony Ecosystem

Express Logic

•  Founded: October, 1996 •  Mission: Provide the highest quality, commercial grade RTOS for embedded developers.

•  Headquarters: San Diego, CA •  Bill Lamie, a founder of Express Logic and author of ThreadX has vast industry

experience having previously developed Nucleus RTX and Nucleus Plus (currently offered by mentor)

•  Profitable since inception, no VC $$ •  Privately held, independent, financially strong •  Over 3,000 customer licenses •  Over 2 Billion products deployed and supported WW

Page 25: MPLAB® Harmony Ecosystem

ThreadX +MPLAB(R)Harmony

It started with common goals and objectives

Accelerated Product Development and

Faster Time to Market

Reliable High quality

products

Optimized Performance and Ease of

Use

Broad Industry

Integration and support

World Class Support

and Expertise

Page 26: MPLAB® Harmony Ecosystem

Express Logic Products

Real-Time Operating System (RTOS)

Embedded TCP/IP Network Stack

MS-DOS Embedded File System

USB Host/Device Protocol Stack

Embedded GUI Development Tool

Real-Time, Graphical Event Trace/Analysis

Safety-Critical Regulatory Compliance Artifacts

Reliable High quality

products

Page 27: MPLAB® Harmony Ecosystem

Optimized Performance and Ease of

Use Designed for use on embedded, real-

time applications using 32-bit microprocessors & microcontrollers

• Fully Deterministic Performance • Small • Flash footprint <3k bytes on most processor

families • Ram requirements <1Kbytes for kernal RAM • Automatic scaling

• Fast • Sub-microsecond context switching

• Low Cost •  Fast Time to Market • Certifications • SGS-TUV Saar certified for use in safety critical

systems (IEC 61508) and Medical (IEC 62304) • UL Safety certification for HH appliances and

software • Certification services available for regulatory

compliance

Advanced Technologies

• Complete Multitasking Facilities • Threads • Application Timers • Message Queues • Counting Semaphores • Mutexes • Event Flags • Block and Byte Memory Pools

• Priority-based preemptive scheduling • Preemption-Threshold™ Scheduling

Easy to Use

• Ships with source code • Uses consistent naming conventions • Intuitive API’s

• Well documented and commented • User Guides • Training available

• Text Book • Certificate artifacts

Optimized Performance and Ease of use ThreadX is Commercial Grade.

Page 28: MPLAB® Harmony Ecosystem

Broad Industry Integration & World Class Support

Broad Industry

Integration and support

World Class Support and

Expertise

• Support  for  over  130  unique  processor/tool  combinations

• Extensive  debugger  kernel  awareness  support

• Over  2  Billion  deployed

Broad  Industry  

Integration

• All  source  code  developed  in-­‐‑house • Dedicated  support  team  with  original  developers  on-­‐‑hand

• Offices  in  US,  Europe  and  Asia,  Distributors  WW

World  Class  Support

Page 29: MPLAB® Harmony Ecosystem

The ThreadX + MPLAB Harmony Solution

ThreadX RTOS

Advanced RTOS designed for

commercial grade deeply embedded

applications.

MPLAB Harmony

Integrated Software Framework

Page 30: MPLAB® Harmony Ecosystem
Page 31: MPLAB® Harmony Ecosystem

SEGGER The Embedded Experts Reliable | High Performance | Flexible

By: James Murphy Technical Sales Manager [email protected]

Page 32: MPLAB® Harmony Ecosystem

SEGGER Portfolio

§  3.0 Mbytes/s Download Speed §  Fastest Flash Loaders §  Industry Standard

§  Small Footprint §  Professional Grade §  Complete Solution: RTOS, GUI, File

System, USB & TCP/IP Stacks

§  Production Programming §  Stand-alone Operation §  Easy Integration

J-Link JTAG/SWD Emulator RTOS & Middleware Flasher Flash Programmer

Develop | Debug | Produce

PIC32 Support!

Harmony Compatible!

Page 33: MPLAB® Harmony Ecosystem

embOS & emWin Harmony

SEGGER has worked closely with Microchip to integrate seamlessly our RTOS embOS and Graphics Package emWin within the Microchip Harmony environment. This allows Harmony users to get up and running with SEGGER software on their target hardware quickly and painlessly. Both embOS and emWin also offer advanced features that may be taken advantage of outside of the Harmony environment.

Page 34: MPLAB® Harmony Ecosystem

embOS Real-time Operating System

•  20 years in the market •  Profiling support •  Low Power Tickless support •  µsec precise system time •  True Zero interrupt latency •  Sample start projects •  Full Source code available •  Very low resource usage •  No compile-time configuration needed

embOS is a priority-controlled real time operating system, with zero interrupt latency, high-performance, and is optimized for minimum memory consumption in both RAM and ROM.

Page 35: MPLAB® Harmony Ecosystem

embOS Low Power Tickless Operation

Tickless low power support reduces power consumption, especially useful for battery powered devices. Instead of having a timer interrupt for each system tick the timer is reprogrammed to be able to spend as much time as possible in low power mode. How to use it Tickless support can be added to any embOS start project. The embOS tickless support is based on the three new API functions OS_GetNumIdleTicks(), OS_StartTicklessMode and OS_AdjustTime(). In order to use the tickless support the OS_Idle() function has to be modified and a callback function has to be implemented. The tickless OS_Idle() function calculates the amount of time which should be spent in low power mode and reprograms the timer accordingly. The callback function is called automatically from the scheduler when the low power period ended. It adjusts the system time and resets the timer to it's default tick time.

Page 36: MPLAB® Harmony Ecosystem

embOS µsec Precise System Time This is a unique feature of embOS. In other systems, RTOS-based time functions are based on the system tick which is typically 1 msec or more. This makes it impossible to get very precise timing values.  embOS supports the API function OS_GetTime_us() to get the current system time in micro second resolution. This feature is easy to use and can be used with any embOS start project. The start projects have to set up this feature with a simple API call ofOS_Config_SysTimer(). This is already done for the most of the embOS start projects and can be done for any other embOS start project by Segger on request. How to use it OS_GetTime_us() can be called from any location in your application code. It can be used in main, tasks, software timers and interrupt functions.

Sample  application void  MyFunction(void)  {    OS_U32  tStart;    OS_U32  tEnd;    OS_U32  t;    tStart  =  OS_GetTime_us();    DoSomeThing()    tEnd  =  OS_GetTime_us();    t  =  tStart  -­‐‑  tEnd;    printf("ʺTime  to  run  the  function:  %u"ʺ,  t); }

Page 37: MPLAB® Harmony Ecosystem

emWin Embedded Graphics Package

emWin has quickly established itself as the industry standard for embedded graphics. It is designed to provide an efficient, processor independent, LCD controller independent, Graphical User Interface (GUI) for any application that operates with a graphical LCD.

•  Complete ANSI "C" Code; No Need for C++ •  RTOS Independent (embOS Available) •  Can Run Without an RTOS (Superloop) •  Only Hardware Dependent Portion is the LCD Driver •  GUIBuilder Drag and Drop Design Interface •  Multi-touch support enabling pinch, zoom, rotate gestures, and

up to 10 touch points •  Includes complete font set and Font Converter

Page 38: MPLAB® Harmony Ecosystem

emWin GUIBuilder & Simulation

Menu Bar Widget Selection Bar

Object Tree

Widget Properties Editor

emWin GUIBuilder

emWin’s GUIBuilder is an easy to use drag-and-drop design interface. Easily layout your application then generate “C” code. This code may be edited and read back into the GUIBuilder for a streamlined design experience.

emWin’s PC Simulation allows you to design the user interface on your PC (no hardware required!). You may debug the user interface program and create demos of your application, which can be used to discuss the user interface. The resulting executable can be sent easily via email.

Page 39: MPLAB® Harmony Ecosystem

emWin Extensive Samples

PIC32 Demo Board BSPs Available

The Sample directory contains ready-to-go examples that demonstrate different features of emWin and provide examples of some of their typical uses. In order to build any of these executables, their C source must be .activated. in the project. This is easily done. https://www.segger.com/emwin-samples.html

https://www.segger.com/microchip.html

Page 40: MPLAB® Harmony Ecosystem

SEGGER The Embedded Experts

EMBEDDED SYSTEM

RTOS

JTAG/SWD

TRACE

File  System

GUI

TCP/IP

USB

SEGGER‘s embedded software products are designed for embedded systems from the ground up and supported by the engineers who wrote the code. “By choosing SEGGER’s RTOS and development tools, you are not only getting the best solution to help fuel your development, but also the backing of one of the strongest embedded engineering teams in the industry. We are an engineering driven company and proud of it!” - Rolf Segger, CTO and Owner

Page 41: MPLAB® Harmony Ecosystem

SEGGER The Embedded Experts Reliable | High Performance | Flexible

Page 42: MPLAB® Harmony Ecosystem

OPENRTOS From WITTENSTEIN high integrity systems

By

Steve Ridley Head of Engineering

Page 43: MPLAB® Harmony Ecosystem

•  Extensive RTOS Ecosystem, building upon FreeRTOS with OPENRTOS & SAFERTOS

•  FreeRTOS top-in-class in the 2011, 12, 13 & 14 in EETimes embedded systems surveys in two areas:

•  “RTOS currently used” •  “RTOS considered for the next project”

•  OPENRTOS supports 34 processor architectures and 18 toolchains •  Free/OPENRTOS has millions of product deployments •  SAFERTOS is the first RTOS to be pre-certified to IEC 61508 Safety

Integrity Level 3 by TÜV SÜD, the highest possible for a software only component

•  SAFERTOS was the first pre-certified safety critical RTOS to be ROM’ed in a main line processor by Texas Instruments

FreeRTOS

OPENRTOS®!

SAFERTOS®!

WHIS Highlights 

Page 44: MPLAB® Harmony Ecosystem

MPLAB® Harmony Integrated Software Framework

MPLAB® Harmony Benefits •  Comprehensive middleware •  Highly integrated with PIC32 •  Faster time to market

RTOS Proven & Robust •  Stable solution for high-

availability applications •  Millions of product

deployments worldwide

Simple to Use RTOS •  Easy-to-program

environment for developers familiar with C and C++

Page 45: MPLAB® Harmony Ecosystem

Why upgrade from FreeRTOS to OPENRTOS

Removes the FreeRTOS modified GPL conditions

Commercial indemnification including explicit exclusion of

open source code

Professional support Confidentiality

Page 46: MPLAB® Harmony Ecosystem

SAFERTOS, the Added Value

•  IEC 61508 SIL3 Certified Real Time Operating System •  Dependable task scheduling •  Specific Processor/Complier combination •  SIL3 certified software component (TÜV SÜD) •  Memory Protection Unit as standard •  Easy integration into development environment •  Smooth path to certification •  Access to experienced engineers •  Low cost of ownership over product lifetime •  Multiple adoption models •  Part of a stable and mature corporation

Page 47: MPLAB® Harmony Ecosystem

Multi Domain Safety Specialists

SAFERTOS

Industrial IEC 61508 (2010)

Railway EN 50128

Medical IEC 62304/FDA 510K

Nuclear IEC 61513, IEC 62138, ASME NQA-1 2008

Process IEC 61511 Automotive ISO 26262 Aerospace DO178B

Page 48: MPLAB® Harmony Ecosystem

OPENRTOS

Page 49: MPLAB® Harmony Ecosystem
Page 50: MPLAB® Harmony Ecosystem

Reliable RTOS Solutions

•  Micriµm offers a complete lineup of RTOS solutions: kernel, file system, GUI, and protocol stacks

•  Modules available under flexible, royalty-free licensing terms

•  Micriµm has supported the PIC32 since its release

Micriµm

Page 51: MPLAB® Harmony Ecosystem

Safety-Critical Certification •  µC/OS-II is suitable for DO-178B (Level A), IEC-61508 and

IEC-62304 •  µC/OS-II was first used in a DO-178B product in 2000! •  Micriµm modules follow strict coding standards, are

backed by industry-leading support, and are accompanied by exhaustive documentation

Micriµm

Page 52: MPLAB® Harmony Ecosystem

An Enhanced Experience •  Harmony helps to answer the fundamental RTOS question:

“Does it run on my board?” •  Modifications needed to make third-party drivers more

efficient have already been made •  Configurator enables rapid project creation

Micriµm

Page 53: MPLAB® Harmony Ecosystem
Page 54: MPLAB® Harmony Ecosystem

Questions?

Kurt Parker Microchip Technology www.microchip.com/harmony

Aimee Kalnoskas Design World [email protected]

Chris Conlon WolfSSL Inc. [email protected]

Michael May Express Logic [email protected]

James Murphy SEGGER Microcontroller Systems, LLC [email protected]

Steve Ridley WITTENSTEIN high integrity systems [email protected]

Matt Gordon Micrium [email protected]

Page 55: MPLAB® Harmony Ecosystem

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