
Smaller, faster, lower-cost! Benefits of NXP ARM microcontrollers for embedded developers Dave Edwards CEO/CTO SOMNIUM® Technologies 11/09/2016 Presented at ENOVA Paris 2016 Thu 15th Sept in the NXP IoT Truck Room EUF-DES-T2250 SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 1 Abstract Time to market and development cost are driving factors in embedded system design Yet many developers aren't aware of the benefits in using ARM technology, even in low-end resource constrained designs such as IoT edge nodes. SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 2 Contents Problems faced by embedded developers An overview of ARM microcontroller hardware How can using an ARM based device help? ARM microcontroller and system architecture overview NXP ARM microcontroller overview Performance and energy overview An overview of ARM software An overview of NXP software ecosystem Software tools and choices available Demonstrations of the features available with NXP microcontrollers. SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 3 Problems faced by embedded developers SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 4 Time to market is important Only 38% of projects are on time 62% of projects are late! Every year its getting worse ... SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 5 Choose your microcontroller wisely Many chips are similar Ecosystem is important Not all ecosystems are equal ;-) SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 6 Engineering challenges Debugging is time consuming Better debug tools are needed Vendor supplied information is vital SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 7 How can using an ARM based device help? Customer benefits from choice, features, availability and quality ARM's business model amortizes cost of complex design across many customers Semiconductor vendor leverages to build hardware and software ecosystem Tools providers leverage compatibility to support a huge range of devices SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 8 ARM microcontroller overview SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 9 ARM Cortex-M : architecture advantages Modern instruction set architecture and microarchitecture First V7-M architecture device was Cortex-M3 announced in 2004 25 years younger than the 8051 architecture! Designed to run high level C/C++ No need for assembly language = lower cost of software development ARM Thumb®-2 technology has dense instruction encoding Low gate count KL03 fits in the dimple of a golf ball! ● 1.9x1.6mm Lower silicon cost ● 48MHz Cortex M4 Small form factor packaged parts ● 32KBytes ROM, 2K RAM ● 75 cents in quantities of 100,000 Powerful Significantly higher performance than 8-bit/16-bit microcontrollers Energy Efficient Fast and efficient interrupt handling SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 10 ARM Cortex-M : huge range of choices available Processor performance versus features versus cost 20MHz .. 200MHz+ Simple microcontroller (M0/M0+) thru DSP capable microcontroller (M3/M4) and beyond Single core to multi-core Memory size versus requirements versus price versus energy required As little as required: 8KBytes ROM/1KBytes RAM As much (?) as required: 2MByte ROM/256KByte RAM and beyond Wide range of peripherals and interfaces Sensors, USB, Ethernet, BLE Highly integrated with great software enablement Broadly compatibility instructions and source code Can scale up (or down) your design as required But ... beware of low-level system software differences SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 11 Range of processor cores available SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 13 Instruction set : clean superset from M0 upwards SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 14 Cortex M0 system architecture Common across all Cortex-M Program trace ● M0 supports up to Doesn't require high end 32 interrupt sources debug adaptors ● 16 (M0), 15 (M0+) cycle interrupt latency ● Number of priorities can vary between devices Typically: All devices have this at least 2..4 breakpoints Supports simple/low cost 0..2 watchpoints debug adaptors (can trigger things within PC range) SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 16 Cortex M4 system architecture Same as Cortex M0 NVIC with: ● Up to 240 interrupt sources OPTIONAL ● 12 cycle interrupt latency Sophisticated trace ● Number of priorities and triggers can vary between devices BUT .. requires area, pins and high end debug adaptor All devices have this Supports simple/low cost debug adaptors SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 17 NXP ARM-based microcontroller overview SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 18 Kinetis family - sensors and analog integration High performance Low cost, small memory, Large memory small physical size Sensors and interfaces KV10 is possibly the highest performance Cortex M0+ device available SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 19 LPC family - optimized for power and cost All are Cortex M4 based LPC8xx : ● Many single core devices ● low power ● Some LPC43xx & LPC5xxx ● space efficient devices are dual core Cortex ● low-pin count M4 and a Cortex M0+ ● great for 8/16 -bit migration SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 20 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). SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 21 Wide range of performance and energy options Extreme performance Higher energy Higher performance More expensive Baseline device Lower energy ● Good performance More expensive ● Low energy consumption ● Low cost SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 23 ARM software ecosystem overview SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 25 CMSIS Cortex Microcontroller Software Interface Standard Some components are supported by silicon vendors Other components are not supported by silicon vendors Available from ARM , and from some software tools vendors Be aware ... Some implementations of some features are NULL Implementations vary (features, bugs etc.) Are you using the “official” silicon vendor version? There is no standards compliance procedure SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 26 What's in CMSIS? Not widely used? Generally supplied Used in evaluation board pre-compiled OpenOCD debug probes. No publicly available Segger & PEMicro are test suite significantly faster and more robust Some parts are “essential” Some parts are obsoleted by vendor-specific APIs SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 27 CMSIS files Originated by ARM For a given Cortex <X> device (<X> = 0, 3, 4, 7) core_cm<X>.h global declarations and definitions, function protoypes core_cm<X>.c global definitions (functions and data) Originated by silicon vendor For a given <device> e.g. MK64F12 system_<device>.h device specific definitions (memory mapped registers etc.) system_<device>.c device specific function definitions (sometimes vector table is supplied as .s file) <device>.h device specific definitions (registers etc.) SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 28 NXP microcontroller software ecosystem overview SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 29 NXP Kinetis: Kinetis SDK v2: CMSIS “and more” Not like CMSIS: Pre-integrated with industry No concept of separate HAL standard RTOS and driver layers Minimal implementation (use Kinetis-specific Peripheral drivers instead) SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 31 Kinetis Expert: web based SDK creator ● Select components and export source code ● New tool to configure pins etc. ● Check everything is correctly setup SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 32 Kinetis Design Studio (KDS) - free of charge Eclipse IDE + GNU tools SOMNIUM Technologies worked with Freescale to produce KDS Windows, Linux & MacOSX hosts Vanilla code generation and debug SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 33 NXP LPC: LPCOpen: CMSIS “and more” Flexible configurations and High quality free of charge middleware mostly “compliant” CMSIS-CORE Different APIs to Kinetis equivalents SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 34 LPCXpresso - Eclipse IDE + GNU tools Free of charge (256KByte codesize limit) Windows, Linux & MacOSX hosts Vanilla code generation Advanced trace SOMN-MS-0051 Copyright © 2016 SOMNIUM® Technologies Limited 35 NXP software enablement summary Separate software enablement for Kinetis and LPC devices Both Kinetis and LPC have their own history A few compatibility “bumps” along the way Kinetis Design Studio and LPCXpresso are similar but different Both have vanilla GNU tools, Eclipse IDE platform Both are free (for initial versions) Different user interface and project formats LPCXpresso has more debug features 3rd party tools are available : SOMNIUM DRT Tight integration
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages47 Page
-
File Size-