With ever increasing Connectivity options, Security Protocols and Sophisticated Human Interfaces, Software and AP developers find themselves caught more deeply in the dichotomy of dealing with increasing complexity of designs and shrinking timelines. Resource constraints and constantly evolving software landscape provide challenges to software Integration that have to be overcome to enable designers to focus on the actual application.
Developers need a Modular Software Framework that accelerates software integration, provides flexible programming options and enables application re-use across multiple platforms. “That framework is MPLAB® Harmony.”
Join us for the webinar series where we provide a technical overview of MPLAB® Harmony, Live tool demos, Microchip and third party Middleware support and finally demonstrate how Harmony accelerates software integration and moves development focus and resources to Application Development and testing.
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. 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
6. • 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
7. 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
8. 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!
9. The Value in Partnerships
Developers benefit through
Harmony’s ecosystem:
• Choice
• Expertise
• Integration
• Collaboration
12. 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.
13. Partner Presentations…
• Observe
• Log questions to be asked at the end
• Harmony Ecosystem Partners: Depth, Breadth, Integration,
Top Quality
14.
15. wolfSSL Overview
Founded: 2004
Location: Bozeman, MT
Seattle, WA
Portland, OR
Our Focus: Open Source Embedded Security
(for Applications, Devices, IoT, and the Cloud)
2011
2012
2013
2014
3 employees
9 employees
11 employees
15 employees
150OEM Customers
10Resale Partners
Products: - wolfSSL
- wolfSSL FIPS
- wolfCrypt
- wolfSSH
- wolfSCEP
- wolfSSL Inspection
- yaSSL
16. 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)
19. 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
20. 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
21. Contact wolfSSL
• Feel free to reach out with any questions or comments:
o info@wolfssl.com
o support@wolfssl.com
o Phone: +1 (425) 245 - 8247
22.
23.
24. 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
25. 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
26. 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
27. 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.
28. 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
29. The ThreadX +
MPLAB Harmony Solution
ThreadX
RTOS
Advanced RTOS
designed for
commercial grade
deeply embedded
applications.
MPLAB
Harmony
Integrated Software
Framework
30.
31. SEGGER The Embedded Experts
Reliable | High Performance | Flexible
By: James Murphy
Technical Sales Manager
james.murphy@segger.com
32. 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!
33. 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.
34. 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.
35. 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.
36. 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);
}
37. 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
38. 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.
39. 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
40. 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
43. • 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
44. 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++
45. Why upgrade from FreeRTOS to OPENRTOS
Removes the FreeRTOS
modified GPL conditions
Commercial indemnification
including explicit exclusion of
open source code
Professional support
Confidentiality
46. 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
47. 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
50. 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
51. 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
52. 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
53.
54. Questions?
Kurt Parker
Microchip Technology
www.microchip.com/harmony
Aimee Kalnoskas
Design World
akalnoskas@wtwhmedia.com
Chris Conlon
WolfSSL Inc.
Chris@wolfssl.com
Michael May
Express Logic
mmay@expresslogic.com
James Murphy
SEGGER Microcontroller Systems, LLC
James.murphy@segger.com
Steve Ridley
WITTENSTEIN high integrity systems
Steve.ridley@wittenstein.co.uk
Matt Gordon
Micrium
Matt.gordon@micrium.com
55. 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