arm microcontroller updates - markets, technologies and trends · 2019-10-17 · arm...
TRANSCRIPT
1
ARM Microcontroller
Updates - Markets,
Technologies and Trends
Joseph Yiu
Embedded Technology Specialist, ARM
2
From 2004 to 2013
Cortex®-M3 was announced in 2004
First product released in 2006
In 2013
160+ licensees of ARM Cortex-M processors
Over 2000 Cortex-M processor-based MCU types
Tens of thousands Cortex-M based applications
3
Cortex-M Microcontroller Processors
Cortex-M Configurable
Low Silicon Area Ease of Use
Deterministic WIDELY ADOPTED
MARKET PROVEN
HIGH VOLUME
Energy Efficient
Cortex-M0
“8/16-bit” applications
Lowest cost
Cortex-M0+ Cortex-M3
Cortex-M4
“32-bit/DSC” applications
MCU plus DSP
Accelerated SIMD, FP & SP
“16/32-bit” applications
Performance efficiency
Feature rich connectivity
“8/16-bit” applications
Lowest power
Outstanding Energy efficiency
4
Clear Market Trend
Expected volume in 2013 – 4.5 billion
units (23% of 19.1 billion units)
Estimated ARM MCU market share
2011 – 15%
2012 – 18%
Units (Bn) % share Growth%
4/8-bit 6.7 35 6
16-bit 7.9 41 9
32-bit 4.5 23 20
Report from IC InSights (www.icinsights.com) http://www.icinsights.com/data/articles/documents/541.pdf
Data from ARM Q1 result presentations 2011,12
5
MCU Market Moving to 32-bit
Shipment data shows a growing share of 32-bit MCU since
late 90’s
Jan-90 Jan-92 Jan-94 Jan-96 Jan-98 Jan-00 Jan-02 Jan-04 Jan-06 Jan-08 Jan-10 Jan-12
4 BIT$ 8 BIT $ 16 BIT$ 32 BIT$
Growth in 32-bit
overtake 8/16-bits
Traditional 8/16-bit
applications migrating
to 32-bit
Source: WSTS (Worldwide Semiconductor Trade Statistics) Courtesy of Freescale
6
Total Cortex-M volume
2010 = 376M
2012 = 2.2Bn (~6x growth)
Cumulatively >3.5B Cortex-M
processors shipped
>160 Licensees
Wireless, SoCs, Automotive
Emerging markets
Sensors
MEMS
Power Management IC (PMIC)
Touch controllers
Connectivity -
ARM Cortex-M Reaching Beyond MCU
ARM internal data
0
100
200
300
400
500
600
700
Q12010
Q2 Q3 Q4 Q12011
Q2 Q3 Q4 Q12012
Q2 Q3 Q4
Total Cortex-M Shipments (Million Units)
Internet of Things (IoT)
7
Reasons for 32-bit Momentum
Technology
Performance & capability
Energy Efficiency & low power
Easy to use – save development time !!!
Portable & Scalability – Safe guard your software investment
Processor CoreMark/MHz
Cortex-M4 3.40
Cortex-M3 3.32
Cortex-M0+ 2.15
Cortex-M0 1.99
Active current
(µA/MHz)
200
100
2006 2009 2012
200 150 130 110 90
Power/MHz
CPU
Flash
SRAM
Peripherals
8
Price of ARM Microcontrollers
Comparable price level to 8/16-bit products
Save cost by using ARM MCUs
Competitive microcontroller prices
Reducing time to market
Better software reusability
Better ecosystem
Cost Silicon
R & D
Testing
Package
SW+Support
Others
Development
Cost
Development
time
Toolchain and
debugger cost
Training
Software
reusability
Third party
software
solution
Risks
Testing and QA
9
TECHNOLOGIES
What has changed in the last 12 months?
10
Compilers
ARM Compilers and Tools
ARM DS-5™ – Performance improvement in version 5.14
Keil™ MDK-ARM™ 5.0 beta – CMSIS-PACK software component
package support
gcc (https://launchpad.net/gcc-arm-embedded)
Version 4.7 release (end of 2012)
Newlib-nano for code size reduction
MAC installation tarball
Version 4.7 update 1
Link Time Optimization (LTO)
Basic Cortex-A profile multilib
Ubuntu PPA based package
IAR Embedded Workbench
Certified for functional safety development (IEC 61508 & ISO 26262)
11
Software layers for all Cortex-M processor-based devices
CMSIS-CORE : API for Cortex-M processor and core peripherals
CMSIS-DSP : DSP Library with 61 functions for Cortex-M
CMSIS-SVD : XML system view description for peripherals
CMSIS-RTOS : API for RTOS integration
CMSIS-DAP : Firmware for Debug Access Port
Cortex Microcontroller Standard (CMSIS)
12
CMSIS Version 3
Debugger (3rd Party)
USE
R
CM
SIS
MC
U
Cortex CPU
SysTick RTOS Kernel
Timer
NVIC Nested Vectored
Interrupt Controller
Debug + Trace
Device Peripheral Functions (Silicon Vendor)
SIMD Cortex-M4
Real Time Kernel (3rd Party)
CMSIS-RTOS API
Peripheral Register & Interrupt Vector Definitions
CMSIS-CORE
Core Peripheral Functions
CoreSight
CMSIS SVD
CMSIS DAP
Other Peripherals
CMSIS-DSP DSP-Library
Application Code
13
CMSIS-DAP
Provides a standardized interface
for debuggers
Access to all CoreSight™
registers + units (Cortex-A,
Cortex-R and Cortex-M profile)
Supports multi-core debugging
Easy to implement on different
debug hardware units
Debug hardware can be
implemented on vendor board
using vendor silicon
Provided for free by ARM
Specification and reference
implementation available from
arm.com
DS-5 Debugger
Cortex-M0 CPU
CMSIS-DAP
mBED Interface
CoreSight
Cortex-M4 CPU
CoreSight
Cortex-A7 CPU
CoreSight
Debug Unit
SWD
USB
Device
µVision Debugger
Debugger (3rd Party)
mBED
May be integrated on a single evaluation board
USB
USB
USB
JTAG
KL25 Cortex-M0+
K20 Cortex-M4
USB Flash & Debug
USB Device
14
mbed.org – SDK 2.0 released
Easy to use, low cost
Web base development
Open source (from 2.0)
RTOS support
USBmbed
network
mbed.org Servers
Internet
mbed (java)mbed (java)
#include "mbed.h"
Serial pc(USBTX, USBRX); // tx, rxPwmOut led(LED1);int main() {
http://mbed.org
1) Web based program
development
3) Download
compiled
binary image
4) Copy binary
image to mbed
board
5) reset and run
program
2) application compiled on
mbed.org server
Internet
15
Cooperation with MathWorks
Matlab/Simulink generates optimized code
using CMSIS-DSP Library
Important for customer with control applications
Cortex-M4 can replace dedicated DSP in many scenarios
Currently in Review
Planned availability: H2 2013
16
TRENDS
What will happen next?
17
Microcontroller Market Landscape
Increasing competition on low cost microcontrollers
8-bit and 16-bit no longer necessarily cheaper, especially when factor
in:
Code density
Easy of use / development time
Middleware
Energy efficiently / Battery life
Key differentiations for microcontrollers
Software offering, low power, innovations
Definitions of “Microcontrollers” is changing
Cortex-A processors for embedded/industrial applications
Mixed signal designs and microcontrollers are converging
18
Convergence of MCU and Mixed Signal
ADC
DAC Analogue Comparator
Brown Out Detector
LCD driver
RF transceiver
CAP sense Voltage reference
PLL
Sensors / MEMS /
Analog
MCU
Microcontrollers are
getting more analogue
components
Analogue components
are getting more
intelligence
19
CMSIS Roadmap Continues To Evolve….
New proposals being discussed with partners
CMSIS-PACK: Accelerate software development
Software packages in ZIP format
XML based description files
Easier middleware integration
Better software reuse
Include toolchain and compatibility information
Demonstrated with Keil MDK 5 beta
(http://www2.keil.com/mdk5/)
CMSIS-Driver: Unified device driver API
Consistent driver collection for middleware
Potentially on-top of silicon vendor’s drivers
Still allow for differentiation
Parameters
Flash Algorithms
Device Pack
Documentation
Device Info
CMSIS Startup/System
HAL with Libraries
Configuration File i.e. RTE_Device.h
Device
Standardize Drivers
Drivers
Sample Projects
Examples
Header / SVD File
20
Pack Description File Example <package schemaVersion="1.0" xmlns:xs="..." xs:noNamespaceSchemaLocation="PACK.xsd">
<vendor>Keil</vendor>
<name>CMSIS_RTX</name>
<description>RTX is a CMSIS-RTOS compliant RTOS for Cortex-M based devices</description>
<license>License.txt</license>
<url>http://www.keil.com/demo/eval/rtx.htm</url>
<releases>
<release version="4.70.0">
Updates:
- osTimerCreate can be called prior to osKernelStart (but after osKernelInitialize)
- initialization of external timer corrected for Cortex-M0/M0+/M1
- Message/Mail Queue behaviour corrected when timeout expires
</release>
</releases>
<conditions>
<condition id= "CMSIS_Core">
<description>This component requires the CMSIS CORE component</description>
<require Cclass ="CMSIS" Cgroup="CORE"/>
</condition>
<!-- ARMCC -->
<condition id="CM0_LE_ARMCC">
<description>Cortex-M0 or Cortex-M0+ or SC000 processor based device in little endian mode for the ARM
Compiler</description>
<accept Dcore="Cortex-M0"/>
<accept Dcore="Cortex-M0+"/>
<accept Dcore="SC000"/>
<require Dendian="Little-endian"/>
<require Tcompiler="ARMCC"/>
</condition>
Supplier and release information
Dependency on other component
Dependency on core, endianness and toolchain
21
Pack Description File Example <components>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" condition="CMSIS_Core">
<description>RTX is a CMSIS RTOS implementation for Cortex-M, processor based devices.</description>
<files>
<!-- CPU and Compiler independent -->
<file category="doc" name="Doc\index.html"/>
<file category="header" name="INC\cmsis_os.h"/>
<file category="source" name="Templates\RTX_Conf_CM.c" copy="true"/>
<!-- CPU and Compiler dependent -->
<!-- ARMCC -->
<file category="library" condition="CM0_LE_ARMCC" name="Lib\ARM\RTX_CM0.lib"/>
<file category="library" condition="CM0_BE_ARMCC" name="Lib\ARM\RTX_CM0_B.lib"/>
<file category="library" condition="CM3_LE_ARMCC" name="Lib\ARM\RTX_CM3.lib"/>
<file category="library" condition="CM3_BE_ARMCC" name="Lib\ARM\RTX_CM3_B.lib"/>
<file category="library" condition="CM4F_LE_ARMCC" name="Lib\ARM\RTX_CM4.lib"/>
<file category="library" condition="CM4F_BE_ARMCC" name="Lib\ARM\RTX_CM4_B.lib"/>
<!-- GCC -->
<file category="library" condition="CM0_LE_GCC" name="Lib\GCC\libRTX_CM0.a"/>
<file category="library" condition="CM0_BE_GCC" name="Lib\GCC\libRTX_CM0_B.a"/>
:
<!-- IAR -->
:
<file category="library" condition="CM4F_LE_IAR" name="Lib\IAR\RTX_CM4.a"/>
<file category="library" condition="CM4F_BE_IAR" name="Lib\IAR\RTX_CM4_B.a"/>
</files>
</component>
</components>
</package>
Co
mp
on
ent
Des
crip
tio
n
Common files
Files with processor dependencies for ARM Compiler
Files with processor dependencies for GCC Compiler
Files with processor dependencies for IAR Compiler
22
Energy Efficiency is The Next King
Many new ARM based microcontrollers are under 100uA/MHz
New benchmarks being developed:
EEMBC and VOLKSWAGEN to Develop Benchmarking Standards
to Quantify Microcontroller Energy Efficiency (May 2013)
Performance (system level - including peripherals)
Power / energy efficiency
Latency
EEMBC aims to create ultra low power microcontroller benchmark
(Jan 13)
Processing efficiency
Low power on-chip memories is the next frontier
e.g. Flash sampling technique in ATMEL SAM4L
(www.atmel.com/images/Redefining_the_Power_Benchmark.pdf)
MRAM / FRAM technologies entering MCU designs
23
Internet of Things (IoT)
Many pieces of the puzzle are ready / almost ready …
Ultra low power microcontrollers - for always on systems
Weightless SIG – v1.0 of the specification has arrived (April 2013)
Low power wireless communication standard targets at M2M
Low cost
>10Km range
Software ecosystem building up…. e.g.
Oracle Java ME 8 – expect Q1 2014
Smaller memory footprint
Peripheral APIs
Increasing demand for middleware
Protocol stack, GUI library, file system, crypto, multimedia…
Still lots of issues to solve
E.g. Application level M2M protocols
http://www.weightless.org
24
Where are the Opportunities?
Sensors
Energy management, security, monitoring
Motors
Preventative maintenance, performance monitoring
Medical monitoring
Chronic disease management, on-body wellness tracking
Asset/Goods Tracking
Hospital equipment, RFID “from a distance”
The Previously Unconnected
Streetlights, traffic signs/lights, parking meters, vending machines
Middleware
Communication protocols, crypto, GUI, multimedia processing
IoT Platforms
25
THANK YOU!