Presentation is loading. Please wait.

Presentation is loading. Please wait.

Designing with ARM Cortex-M4 (and a Real Dev Board)

Similar presentations


Presentation on theme: "Designing with ARM Cortex-M4 (and a Real Dev Board)"— Presentation transcript:

1 Designing with ARM Cortex-M4 (and a Real Dev Board)
Class 1: An Introduction to the ARM Cortex-M4 Architecture 7/7/2014 Warren Miller

2 This Week’s Agenda 7/7/14 An Intro to the ARM Cortex-M4 7/8/14 An ARM Cortex-M4 Design Example 7/9/14 Understanding the ARM Tool Flow 7/10/14 Build Your Own ARM-based Product! 7/11/14 Tying Up the Loose ARM Ends

3 Course Description Are you ready to learn how easy it is to use ARM Cortex-M4 MCUs in your designs? This course will introduce you to the ARM Cortex-M4 architecture and describe the key features of an MCU, the ST Microelectronics STM32F3 that uses the Cortex-M4 for the CPU. A readily available Discovery Board, the STM32F3DISCOVERY, will be used to learn how to begin designing right away!

4 Todays Goals and Objectives
Understand what this Class Covers Understand the ARM Cortex-M4 Architecture Understand the key Difference to other ARM-based CPU Understand the key elements of the design flow we will use in this class

5 ARM Cortex-M4 Architecture
CPU with DSP NVIC Wake-up CI Debug Code Interface FPU (IEEE 754 Compliant) MPU SRAM and Peripheral Interface Energy efficient digital signal control The Cortex-M4 processor has been designed with a large variety of highly efficient signal processing features applicable to digital signal control markets.  The Cortex-M4 processor features extended single-cycle multiply accumulate (MAC) instructions, optimized SIMD arithmetic, saturating arithmetic instructions and an optional single precision Floating Point Unit (FPU).  These features build upon the innovative technology that characterizes the ARM Cortex-M processor family. Responsiveness and low power In common with the other members of the Cortex-M family of processors, the Cortex-M4 has integrated sleep modes and optional state retention capabilities which enable high performance at a low level of power consumption. The processor executes the Thumb®-2 instruction set for optimal performance and code size, including hardware division, single cycle multiply, and bit-field manipulation. The Cortex-M4 Nested Vectored Interrupt Controller is highly configurable at design time to deliver up to 240 system interrupts with individual priorities, dynamic reprioritization and integrated system clock.        Easy-to-use technology The Cortex-M4 makes signal processing algorithm development easy through an excellent ecosystem of software tools and the Cortex Microcontroller Software Interface Standard (CMSIS) .

6 ARM Cortex-M4 Architecture, 2
3 Stage + Branch Spec 3.4 CoreMark/MHz 1.95 DMIPS/MHz Single Cycle 16/32-bit MAC Single Cycle Dual 16-bit MAC 8/16-bit SIMD arithmetic Hardware Divide (2-12 Cycles) 1-240 Physical Interrupts, Priority Levels Sleep and Deep Sleep Signals Energy efficient digital signal control The Cortex-M4 processor has been designed with a large variety of highly efficient signal processing features applicable to digital signal control markets.  The Cortex-M4 processor features extended single-cycle multiply accumulate (MAC) instructions, optimized SIMD arithmetic, saturating arithmetic instructions and an optional single precision Floating Point Unit (FPU).  These features build upon the innovative technology that characterizes the ARM Cortex-M processor family. Responsiveness and low power In common with the other members of the Cortex-M family of processors, the Cortex-M4 has integrated sleep modes and optional state retention capabilities which enable high performance at a low level of power consumption. The processor executes the Thumb®-2 instruction set for optimal performance and code size, including hardware division, single cycle multiply, and bit-field manipulation. The Cortex-M4 Nested Vectored Interrupt Controller is highly configurable at design time to deliver up to 240 system interrupts with individual priorities, dynamic reprioritization and integrated system clock.        Easy-to-use technology The Cortex-M4 makes signal processing algorithm development easy through an excellent ecosystem of software tools and the Cortex Microcontroller Software Interface Standard (CMSIS) . (SIMD)

7 ARM Cortex-M Instructions
M4 FPU M4 M3 M1 M0+ M0

8 ARM Cortex-M0 Smallest ARM CPU Low Power Simplicity
2.33 CoreMarks/MHz 1.27 DMIPS/MHz Low Power Simplicity Optimized Connectivity The smallest ARM processor The code density and energy efficiency benefits of Cortex-M0 mean that it is a natural and cost effective successor to 8/16-bit devices in a wide variety of applications, while retaining tool and binary upwards compatibility with the feature-rich Cortex-M3 and Cortex-M4 processors. For applications requiring even lower consumption or a wider choice of design options, the fully compatible Cortex-M0+ processor is an ideal alternative. Low power   The Cortex-M0 processor, which consumes as little as 16µW/MHz (90LP process, minimal configuration) in an area of under 12 K gates, builds on the unrivalled expertise of ARM as a leader in low-power technology and a key enabler for the creation of ultra low-power devices. Simplicity With just 56 instructions, it is possible to master quickly the entire Cortex-M0 instruction and its C friendly architecture, making development simple and fast. The option for fully deterministic instruction and interrupt timing makes it easy to calculate response times. Optimized connectivity Designed to support low power connectivity such as Bluetooth Low Energy (BLE), IEEE and Z-wave, particularly in analog devices that are increasing their digital functionality to pre-process and communicate data efficiently.

9 ARM Cortex-M0+ Energy Efficiency Simplicity Versatillity
2.42 CoreMarks/MHz 1.36 DMIPS/MHz Simplicity Versatillity The most energy efficient ARM processor An optimized architecture with a core pipeline of just two stages, enables the Cortex-M0+ processor to achieve a power consumption of just 9.8µW/MHz (90LP process, minimal configuration), while raising the performance to 2.15 CoreMark/MHz.   Simplicity The Cortex-M0+ processor keeps the same 56 instructions of the Cortex-M0 processor, enabling simple and quick development. The Thumb® instruction set offers an unrivaled code-density while providing access to 32-bit computation performance. The combination of these features make the Cortex-M0+ processor a natural and cost effective successor to 8/16-bit devices in a wide variety of applications, while retaining tool and binary upwards compatibility with the feature-rich Cortex-M3 and Cortex-M4 processors.   Versatility Each application is different and has its specific needs. To enable our Partners to design solutions fitting the widest range of applications, the Cortex-M0+ processor offers a wide choice of options. Many of these, such as the Memory Protection Unit and the re-locatable vector-table, are common to the Cortex-M3 and Cortex-M4 processors; others are specifically for this new processor, namely the single-cycle I/O interface for faster control and the Micro Trace Buffer for enhanced debug.

10 ARM Cortex-M1 Optimized for FPGAs 32-bit Processor Thumb-2 ISA
Actel/Microsemi Altera Xilinx 32-bit Processor 0.8 DMIPS/MHz Thumb-2 ISA Fast or Small Multiplier 1-32 Interrupts, 4 Priority Levels The ARM Cortex-M1 processor addresses the need for a high quality, standard processor architecture for FPGA applications, supporting a wide range of FPGA devices, including those from Actel, Altera, and Xilinx. Advantages of using the ARM Cortex-M1 in FPGA Standard processor architecture for all Vendor independence - Cortex-M1 processor supports all major FPGA vendors Software and tools can be re-used across FPGA and ASIC/ASSP Easy migration path from FPGA to ASIC Supported by the largest ecosystem - ARM Connected Community Easy to migrate Cortex-M1 processor designs to newer and most efficient FPGAs Supported by a strong ARM processor roadmap offering solutions at various performance points ARM architecture proven in billions of ARM Powered® devices The ARM Cortex-M1 processor brings the broad ecosystem of tools and operating systems of the ARM Connected Community to FPGA users, as well as software compatibility with ASIC optimized processors such as the ARM Cortex-M3 processor. Developers can standardize on a single architecture, supported by the largest eco-system in the industry, to reduce their hardware and software engineering costs.

11 ARM Cortex-M3 MCU Optimized Performance and Efficiency
3.32 CoreMark/MHz 1.89 DMIPS/MHz Performance and Efficiency Sleep Modes and State Retention Thumb-2 Instruction Set HW Divide, Single Cycle Multiply, Bit-Field manipulation Delivering higher performance and richer features Introduced in 2004 and recently updated with new technologies and configurability, the Cortex-M3 is the mainstream ARM processor developed specifically with microcontroller applications in mind. Performance and Energy Efficiency  With high performance and low dynamic power consumption the Cortex-M3 processor delivers leading power efficiency. Coupled with integrated sleep modes and optional state retention capabilities the Cortex-M3 processor ensures there is no compromise for applications requiring low power and excellent performance. Full featured The processor executes Thumb®-2 instruction set for optimal performance and code size, including hardware division, single cycle multiply, and bit-field manipulation. The Cortex-M3 NVIC is highly configurable at design time to deliver up to 240 system interrupts with individual priorities, dynamic reprioritization and integrated system clock. Rich connectivity The combination of features and performance enables Cortex-M3 based devices efficiently to handle multiple I/O channels and protocol standards such as USB OTG (On-The-Go). 

12 Development Flow Overview
MCU Selection Pick Your MCU Program in “C” or Assembly Libraries, Examples, Etc Compile and Test Program Debug Program Compile/Test Program Debug

13 Evaluation Board Use the board to test out design flow
Example designs are helpful in getting started Enough hardware to try out your own design Evaluation vs. Development Boards

14 For Next Time Download and Install the Design Software
Run an example design to prove out the install Review the various windows available in the IDE Extra Credit- Try out the board

15 Additional Resources STM32F3 Discovery Web Page
STM32F3 Discovery Examples Order your kit from Digi-Key to follow along in the class- Optional, not a class requirement

16 This Week’s Agenda 7/7/14 An Intro to the ARM Cortex-M4 7/8/14 An ARM Cortex-M4 Design Example 7/9/14 Understanding the ARM Tool Flow 7/10/14 Build Your Own ARM-based Product! 7/11/14 Tying Up the Loose ARM Ends


Download ppt "Designing with ARM Cortex-M4 (and a Real Dev Board)"

Similar presentations


Ads by Google