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

Slides:



Advertisements
Similar presentations
Augusto Panecatl Technical Information and Customer Support
Advertisements

Lecture 4 Introduction to Digital Signal Processors (DSPs) Dr. Konstantinos Tatas.
High-performance Cortex™-M4 MCU
Embedded System Lab. What is an embedded systems? An embedded system is a computer system designed for specific control functions within a larger system,
Mohammed Yousef Abd El ghany, Faculty of Eng., Comm. Dep., 3rd year. Digital Signal Processor The Heart of Modern Real-Time Control Systems.
Introduction to ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
1 Chapter 12 Advanced Topics--Introduction. 2 Overview To achieve higher growth Additional features, software and IP offerings Application: consumer electronics,
Embedded Systems Programming
MSP432™ MCUs Training Part 2: Cortex M4F Core
COM181 Computer Hardware Ian McCrumRoom 5B18,
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
111 Confidential RealView MDK v3.1x What’s New. 222 Confidential What’s New in MDK v3.1x  Compiler  MicroLib – optimised C libraries  RealView compiler.
Xilinx at Work in Hot New Technologies ® Spartan-II 64- and 32-bit PCI Solutions Below ASSP Prices January
RADIO + MCU + FLASH + USB Low-Power RF System-on-Chip
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. RX Family Overview Introduction A.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Microcontroller based system design Asst. Prof. Dr. Alper ŞİŞMAN.
Versus JEDEC STAPL Comparison Toolkit Frank Toth February 20, 2000.
Software Defined Radio 長庚電機通訊組 碩一 張晉銓 指導教授 : 黃文傑博士.
00000-A Rev a Renesas Electronics Corporation ©2010. Renesas Electronics Corporation, All rights reserved. 2015/10/19 V850 Architecture Overview.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
FPGA Technology Overview Carl Lebsack * Some slides are from the “Programmable Logic” lecture slides by Dr. Morris Chang.
Computer Architecture Organization and Architecture
STM32 및 개발보드 소개 Jang Hyunsung Embedded Systems Lab. Dept. of CSE, PNU
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
-Low Power and System Control Features
Programmable Logic Devices
i.MX Processor Roadmap i.MX 8 family i.MX 8M family i.MX 8X family
ControlLogix Portfolio
Introduction to the ARM mbed Platform– A Hands-on Course
Microcontrollers, Basics How Do I Choose the Right MCU?
Hands On SoC FPGA Design
Hands On SoC FPGA Design
ECE354 Embedded Systems Introduction C Andras Moritz.
Microarchitecture.
Computer System Laboratory
Class 1: An Introduction to MCU Software Development
Visit for more Learning Resources
Implementation of Embedded OS
Introduction to Programmable Logic
Embedded Systems Design
Texas Instruments TDA2x and Vision SDK
Architecture & Organization 1
Chapter III Desktop Imaging Systems & Issues
Microcomputer Systems 1
Using FPGAs with Processors in YOUR Designs
Programmable Logic- How do they do that?
Introduction to Digital Signal Processors (DSPs)
ریز پردازنده. ریز پردازنده مراجع درس میکروکنترلرهای AVR برنامه نویسی اسمبلی و C محمدعلی مزیدی، سپهر نعیمی و سرمد نعیمی مرجع کامل میکروکنترلرهای AVR.
Getting Started with Programmable Logic
Architecture & Organization 1
XC4000E Series Xilinx XC4000 Series Architecture 8/98
Microprocessor & Assembly Language
Getting the Most Out of Low Power MCUs
Controlling Sensors Efficiently with MCUs
“C” and Assembly Language- What are they good for?
Designing with ARM Cortex-M4 (and a Real Dev Board)
XC9500XL New 3.3v ISP CPLDs.
XILINX CPLDs The Total ISP Solution
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
A High Performance SoC: PkunityTM
Introduction to Microprocessor Programming
Introduction to 5685x Series
Wireless Embedded Systems
Exploring Application Specific Programmable Logic Devices
ADSP 21065L.
Martin Croome VP Business Development GreenWaves Technologies.
Presentation transcript:

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

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

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!

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

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) .  

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, 8-256 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) . http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0002a/ch01s01s01.html (SIMD)  

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

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 802.15 and Z-wave, particularly in analog devices that are increasing their digital functionality to pre-process and communicate data efficiently.

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.

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.

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). 

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

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

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

Additional Resources STM32F3 Discovery Web Page http://www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/PF254044 STM32F3 Discovery Examples http://www.st.com/web/en/catalog/tools/PF258154 Order your kit from Digi-Key to follow along in the class- Optional, not a class requirement http://www.digikey.com/product-detail/en/STM32F3DISCOVERY/497-13192-ND/3522185

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