SOMNIUM DRT C++ tools for Microchip ARM microcontrollers
-
Upload
daniel-ohara -
Category
Software
-
view
50 -
download
6
Transcript of SOMNIUM DRT C++ tools for Microchip ARM microcontrollers
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 1SOMN-P-0002
SOMNIUM DRT C/C++ tools for Microchip ARM microcontrollers
Dave EdwardsFounder and CEO/CTO
12/3/2017
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 2SOMN-P-0002
Problems faced by embedded developers
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 3SOMN-P-0002
Time to market is important
Only 38% of projects are on time 62% of projects are late! Every year its getting worse ...
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 4SOMN-P-0002
Choose your microcontroller wisely
Many chips are similar Ecosystem is important Not all ecosystems are equal ;-)
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 5SOMN-P-0002
SOMNIUM® DRT is the solution
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 6SOMN-P-0002
SOMNIUM® DRT - Professional C/C++ development environment
Save memorysmaller ROM/RAM device, lower cost designs
Save moneyfaster time to market, optimize BOM costs
Increase performancemore features, “do more with less”
Save energyhigher quality design, reduce lifetime costs
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 7SOMN-P-0002
SOMNIUM® DRT :The professional C/C++ development environment Advanced Eclipse based IDE
Modified CDT for usability features State of the art debug and trace Importers to support legacy projects
and semiconductor partner enablement Windows, Linux and macOS hosted
Advanced C/C++ code generation Validated with ISO26262 testsuite Patented resequencing optimizations Smaller, faster, energy efficient code No source code changes required
Technical support and product updates Direct from SOMNIUM's customer engineering team
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 8SOMN-P-0002
Rigorous approach to correctness & quality
To our best knowledge no other tools vendors apply this rigour Tests are applied on-host (simulated) and on-target (real silicon) Tested to destruction ! Flash ROM wears out after ~2 months of our testing 3 axis testing : size and performance and energy
DejaGNU tests: GNU compatibility conformance SolidSands SuperTest: C/C++ standard conformance and functional correctness
Over 136,000 individual tests per Cortex-M variant (~4 hours on-host run time) NULLSTONE for C: optimization test suite
Almost 40,000 individual tests (over 48 hours run time if using one board at a time) EEMBC® Autobench™ and CoreMark™ Over 5,000 examples and demos from our semiconductor partners SOMNIUM proprietary test suite
Well placed for future certification (e.g. ISO26262) Moving forwards not backwards
Full regression testing to ensure each release is better than the last
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 9SOMN-P-0002
DRT recognizes that memory is the bottleneck
SOMNIUM® DRT optimizes for the whole system
It dominates performance and cost
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 10SOMN-P-0002
Measuring energy consumption
SOMNIUM are members of the EEMBC® Automotive Subcommittee and use their industry standard benchmarks.
We measure energy, measured to the uJ using the high accuracy EEMBC EnergyMonitor™
EEMBC CoreMark™ is used to demonstrate the usable performance of a processor system running typical algorithms including list processing (to stress test data accesses), matrix manipulation (to stress test and mathematical operations, and state machines (to stress test complex control flows).
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 11SOMN-P-0002
Wide range of performance and energy options
Higher performanceLower energyMore expensive
Extreme performanceHigher energyMore expensive
Baseline device● Good performance ● Low energy consumption● Low cost
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 12SOMN-P-0002
DRT is benchmark proven: Smaller, faster, lower energy
EEMBC® CoreMark® built with DRTUp to 54% higher performance
Up to 44% lower energyUp to 14% smaller ROMUp to 21% smaller RAM
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 13SOMN-P-0002
Real world middleware demos : Microchip
SAMB11 PXP demofrom Atmel START
SAM D21 Light sensor demo (from Atmel START)
DRT builds smaller code than vanilla GNU and IAR tools
DRT builds smaller codethan vanilla GNU
despite prebuilt BLE library using ~70% of ROM space
ROM RAM
KBytes KBytes
DRT 8.4 n/a n/a 10.4 n/a n/a
Atmel STUDIO 9.7 14.8% 1280 10.4 0.0% 0
IAR 9.6 13.8% 1191 10.3 -0.3% -32
DRT is smaller(% and bytes)
DRT is smaller(% and bytes)
ROM RAM
KBytes KBytes
DRT 35.5 n/a n/a 7.7 n/a n/a
Atmel STUDIO 38.2 7.5% 2716 7.8 0.2% 16
DRT is smaller(% and bytes)
DRT is smaller(% and bytes)
ROM RAM
KBytes KBytes
DRT 4.3 n/a n/a 8.4 n/a n/a
Atmel STUDIO 4.8 12% 508 8.4 0% 0
IAR 4.7 10.5% 461 8.4 0.1% 12
DRT is smaller(% and bytes)
DRT is smaller(% and bytes)
SAM USB CDC demo (from Atmel START)
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 14SOMN-P-0002
Unique project importers
DRT QuickFix identifies issues and applies fixes Bad launch configurations Host OS specific directory/filenames Bad/inconsistant configuration options
Import and automatic conversion from Atmel Studio/START (GPDSC format) Atollic TrueSTUDIO KDS 2, KDS 3x CodeWarrior for MCUs 10.6 (GNU projects) CodeWarrior for MCUs (non GNU projects) LPCXpresso/MCUXpresso SW4STM32, STM32CubeMX
More importers on the roadmap ...
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 15SOMN-P-0002
Integrated lightweight C/C++ static analysis
“As you type” detection of errors, Quick Fixes for common issues Sensible default configurations Checks for user configurable for customized coding/naming conventions
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 16SOMN-P-0002
State of the art debug : Live memory view
No impact on the target - no breakpoint, no extra code, no timing or performance impact Full C/C++ typecasting
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 17SOMN-P-0002
State of the art debug : Cortex-M0+ MTB trace
No need to read the ARM hardware documentation Automatically configured
no need to specify address of buffer
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 18SOMN-P-0002
State of the art debug : Fault analysis
No need to read the ARM hardware documentation Fault diagnosis – extract and decode, navigate source code
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 19SOMN-P-0002
State of the art debug: RTOS aware
Inspect and select each thread Wittenstein plugin to inspect synchroniziation objects (mutex etc.)
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 20SOMN-P-0002
Integrated Percepio Tracealyzer
Integrated into DRT for FreeRTOS and Micrium uCOS/III RTOS trace and analysis
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 21SOMN-P-0002
SOMNIUM® DRT Cortex-M IDE
Wide range of host support Windows, Linux and macOS
Wide range of target support
Single User Fixed Perpetual license $2,500 Any one user at a time, on a fixed machine One SOMNIUM portal account
Three User Floating Perpetual license $6,000 Any three users at a time, on a any machine Three SOMNIUM portal accounts
12 months support and updates included Annual renewal for 20% of purchase price
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 22SOMN-P-0002
SOMNIUM® DRT Atmel Studio Extension
Extends Atmel Studio 7 IDE with DRT code generation
Supports Atmel SMART ARM Cortex-M devices SMART general purpose MCUs: SAM D*, SAM S*, SAMN* SMART ultra low power MCUs: SAM L*, SAM G* SMART 5v MCUs: SAM C* SMART connectivity MCUs: SAM E*, SAM 3*
Single User Fixed Perpetual license $750 Any one user at a time, on a fixed machine One SOMNIUM portal account
12 months support and updates included Annual renewal for 20% of purchase price
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 23SOMN-P-0002
DRT is competitively priced and has no “linger time” on floating licenses
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 24SOMN-P-0002
Founding member of the Embedded Tools Alliance
A collaboration of industry-leading independent embedded system vendors
We help customers select the best components from a number of different suppliers, safe in the knowledge that the individual components are of
the highest quality, proven to work together, and do exactly what's required so the customer can concentrate on their development work
rather than fighting with a disparate set of legacy tools and environments
Copyright © 2016 - 2017 SOMNIUM® Technologies Limited 25SOMN-P-0002
Summary
SOMNIUM DRT - the professional C/C++ IDE Available on Windows, Linux and macOS The only GNU-compatible tools with validated quality and enhanced code generation Enhanced IDE for high productivity and start of the art debug Full support for our silicon partners' enablement
Premier/proven partner status with silicon partners High quality technical support Using DRT will save you time, money and help you get the best results
Regular DRT releases and product roadmap more optimizations, more features, more target device support
Founder member of Embedded Tools AllianceHighest quality tools, well integrated support with other leading suppliers products