ARM Cortex-M4 Manuel utilisateur

Copyright © 2010 ARM. All rights reserved.
ARM DUI 0553A (ID121610)
Cortex™-M4 Devices
Generic User Guide

ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. ii
ID121610 Non-Confidential
Cortex-M4 Devices
Generic User Guide
Copyright © 2010 ARM. All rights reserved.
Release Information
The following changes have been made to this book.
Proprietary Notice
Words and logos marked with ®or ™are registered trademarks or trademarks of ARM®in the EU and other countries,
except as otherwise stated below in this proprietary notice. Other brands and names mentioned herein may be the
trademarks of their respective owners.
Neither the whole nor any part of the information contained in, or the product described in, this document may be
adapted or reproduced in any material form except with the prior written permission of the copyright holder.
The product described in this document is subject to continuous developments and improvements. All particulars of the
product and its use contained in this document are given by ARM in good faith. However, all warranties implied or
expressed, including but not limited to implied warranties of merchantability, or fitness for purpose, are excluded.
This document is intended only to assist the reader in the use of the product. ARM shall not be liable for any loss or
damage arising from the use of any information in this document, or any error or omission in such information, or any
incorrect use of the product.
Where the term ARM is used it means “ARM or any of its subsidiaries as appropriate”.
Confidentiality Status
This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license
restrictions in accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this
document to.
Product Status
The information in this document is final, that is for a developed product.
Web Address
http://www.arm.com
Change history
Date Issue Confidentiality Change
16 December 2010 A Non-Confidential First release

ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. iii
ID121610 Non-Confidential
Contents
Cortex-M4 Devices Generic User Guide
Preface
About this book ........................................................................................................... vi
Feedback .................................................................................................................... ix
Chapter 1 Introduction
1.1 About the Cortex-M4 processor and core peripherals ............................................. 1-2
Chapter 2 The Cortex-M4 Processor
2.1 Programmers model ................................................................................................ 2-2
2.2 Memory model ....................................................................................................... 2-12
2.3 Exception model .................................................................................................... 2-21
2.4 Fault handling ........................................................................................................ 2-29
2.5 Power management ............................................................................................... 2-32
Chapter 3 The Cortex-M4 Instruction Set
3.1 Instruction set summary ........................................................................................... 3-2
3.2 CMSIS functions ...................................................................................................... 3-9
3.3 About the instruction descriptions .......................................................................... 3-11
3.4 Memory access instructions .................................................................................. 3-22
3.5 General data processing instructions .................................................................... 3-39
3.6 Multiply and divide instructions .............................................................................. 3-74
3.7 Saturating instructions ........................................................................................... 3-95
3.8 Packing and unpacking instructions .................................................................... 3-107
3.9 Bitfield instructions ............................................................................................... 3-114
3.10 Branch and control instructions ........................................................................... 3-118
3.11 Floating-point instructions .................................................................................... 3-126
3.12 Miscellaneous instructions ................................................................................... 3-157

ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. iv
ID121610 Non-Confidential
Chapter 4 Cortex-M4 Peripherals
4.1 About the Cortex-M4 peripherals ............................................................................. 4-2
4.2 Nested Vectored Interrupt Controller ....................................................................... 4-3
4.3 System control block .............................................................................................. 4-11
4.4 System timer, SysTick ........................................................................................... 4-33
4.5 Optional Memory Protection Unit ........................................................................... 4-37
4.6 Floating Point Unit (FPU) ....................................................................................... 4-48
Appendix A Cortex-M4 Options
A.1 Cortex-M4 implementation options .......................................................................... A-2
Glossary

Preface
ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. vi
ID121610 Non-Confidential
About this book
This book is a generic user guide for devices that implement the ARM Cortex-M4 processor.
Implementers of Cortex-M4 designs make a number of implementation choices, that can affect
the functionality of the device. This means that, in this book:
• some information is described as implementation-defined
• some features are described as optional.
In this book, unless the context indicates otherwise:
Processor Refers to the Cortex-M4 processor, as supplied by ARM.
Device Refers to an implemented device, supplied by an ARM partner, that incorporates
a Cortex-M4 processor. In particular, your device refers to the particular
implementation of the Cortex-M4 that you are using. Some features of your
device depend on the implementation choices made by the ARM partner that
made the device.
Product revision status
The rnpnidentifier indicates the revision status of the product described in this book, where:
rnIdentifies the major revision of the product.
pnIdentifies the minor revision or modification status of the product.
Intended audience
This book is written for application and system-level software developers, familiar with
programming, who want to program a device that includes the Cortex-M4 processor.
Using this book
This book is organized into the following chapters:
Chapter 1 Introduction
Read this for an introduction to the Cortex-M4 processor and its features.
Chapter 2 The Cortex-M4 Processor
Read this for information about how to program the processor, the processor
memory model, exception and fault handling, and power management.
Chapter 3 The Cortex-M4 Instruction Set
Read this for information about the processor instruction set.
Chapter 4 Cortex-M4 Peripherals
Read this for information about Cortex-M4 peripherals.
Appendix A Cortex-M4 Options
Read this for information about the processor implementation and configuration
options.
Glossary Read this for definitions of terms used in this book.

Preface
ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. vii
ID121610 Non-Confidential
Typographical conventions
The typographical conventions used in this document are:
italic Highlights important notes, introduces special terminology, denotes
internal cross-references, and citations.
bold Used for terms in descriptive lists, where appropriate.
monospace
Denotes text that you can enter at the keyboard, such as commands, file
and program names, and source code.
monospace
italic
Denotes arguments to monospace text where the argument is to be
replaced by a specific value.
< and > Enclose replaceable terms for assembler syntax where they appear in code
or code fragments. For example:
CMP Rn, <Rm|#imm>

Preface
ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. viii
ID121610 Non-Confidential
Additional reading
This section lists publications by ARM and by third parties.
See Infocenter, http://infocenter.arm.com, for access to ARM documentation.
See onARM, http://onarm.com, for embedded software development resources including the
Cortex Microcontroller Software Interface Standard (CMSIS).
ARM publications
This book contains information that is specific to this product. See the following documents for
other relevant information:
•Cortex-M4 Technical Reference Manual (ARM DDI 0439)
•ARMv7-M Architecture Reference Manual (ARM DDI 0403).
Other publications
This guide only provides generic information for devices that implement the ARM Cortex-M4
processor. For information about your device see the documentation published by the device
manufacturer.

Preface
ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. ix
ID121610 Non-Confidential
Feedback
ARM welcomes feedback on this product and its documentation.
Feedback on content
If you have comments on content then send an e-mail to
. Give:
• the title
• the number, ARM DUI 0553A
• the page numbers to which your comments apply
• a concise explanation of your comments.
ARM also welcomes general suggestions for additions and improvements.
Table des matières
Autres manuels ARM Processeur






















