Click here to load reader
Upload
design-world
View
158
Download
4
Tags:
Embed Size (px)
Citation preview
MPLAB Harmony Ecosytem
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
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
MPLAB® Harmony Ecosystem
Agenda • MPLAB® Harmony Ecosystem. • Third Party Feature Presentation:
• Q&A.
• 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
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
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!
The Value in Partnerships Developers benefit through Harmony’s ecosystem: • Choice • Expertise • Integration • Collaboration
Roll Call of Harmony Ecosystem
Software Delivery Delivered with
Harmony Purchase directly from Microchip
Access from Partner’s Website
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.
Partner Presentations… • Observe
• Log questions to be asked at the end
• Harmony Ecosystem Partners: Depth, Breadth, Integration, Top Quality
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
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)
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
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
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
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
Contact wolfSSL
• Feel free to reach out with any questions or comments:
o [email protected] o [email protected] o Phone: +1 (425) 245 - 8247
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
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
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
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.
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
The ThreadX + MPLAB Harmony Solution
ThreadX RTOS
Advanced RTOS designed for
commercial grade deeply embedded
applications.
MPLAB Harmony
Integrated Software Framework
SEGGER The Embedded Experts Reliable | High Performance | Flexible
By: James Murphy Technical Sales Manager [email protected]
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!
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.
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.
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.
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); }
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
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.
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
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
SEGGER The Embedded Experts Reliable | High Performance | Flexible
OPENRTOS From WITTENSTEIN high integrity systems
By
Steve Ridley Head of Engineering
• 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
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++
Why upgrade from FreeRTOS to OPENRTOS
Removes the FreeRTOS modified GPL conditions
Commercial indemnification including explicit exclusion of
open source code
Professional support Confidentiality
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
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
OPENRTOS
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
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
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
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]
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