About this book

The ARM® Compiler Software Development Guide provides tutorials and examples to develop code for various ARM architecture-based processors.

Using this book

This book is organized into the following chapters:

Chapter 1 Introducing the Toolchain

Provides an overview of the ARM compilation tools, and shows how to compile a simple code example.

Chapter 2 Diagnostics

Describes the format of compiler toolchain diagnostic messages and how to control the diagnostic output.

Chapter 3 Compiling C and C++ Code

Describes how to compile C and C++ code with armclang.

Chapter 4 Assembling Assembly Code

Describes how to assemble assembly source code with armclang and armasm.

Chapter 5 Linking Object Files to Produce an Executable

Describes how to link object files to produce an executable image with armlink.

Chapter 6 Optimization

Describes how to use armclang to optimize for either code size or performance, and the impact of the optimization level on the debug experience.

Chapter 7 Coding Considerations

Describes how you can use programming practices and techniques to increase the portability, efficiency and robustness of your C and C++ source code.

Chapter 8 Mapping code and data to target memory

Describes how to place your code and data into the correct areas of memory on your target hardware.

Chapter 9 Building Secure and Non-secure Images Using ARMv8-M Security Extensions

Describes how to use the ARMv8-M Security Extensions to build a secure image, and how to allow a non-secure image to call a secure image.

Glossary

The ARM® Glossary is a list of terms used in ARM documentation, together with definitions for those terms. The ARM Glossary does not contain terms that are industry standard unless the ARM meaning differs from the generally accepted meaning.

See the ARM® Glossary for more information.

Typographic conventions

italic
Introduces special terminology, denotes cross-references, and citations.
bold
Highlights interface elements, such as menu names. Denotes signal names. Also 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
Denotes a permitted abbreviation for a command or option. You can enter the underlined text instead of the full command or option name.
monospace italic
Denotes arguments to monospace text where the argument is to be replaced by a specific value.
monospace bold
Denotes language keywords when used outside example code.
<and>
Encloses replaceable terms for assembler syntax where they appear in code or code fragments. For example:
MRC p15, 0, <Rd>, <CRn>, <CRm>, <Opcode_2>
SMALL CAPITALS
Used in body text for a few terms that have specific technical meanings, that are defined in the ARM® Glossary. For example, IMPLEMENTATION DEFINED, IMPLEMENTATION SPECIFIC, UNKNOWN, and UNPREDICTABLE.

Feedback

Feedback on this product

If you have any comments or suggestions about this product, contact your supplier and give:

  • The product name.
  • The product revision or version.
  • An explanation with as much information as you can provide. Include symptoms and diagnostic procedures if appropriate.
Feedback on content

If you have comments on content then send an e-mail to errata@arm.com. Give:

  • The title ARM Compiler Software Development Guide.
  • The number ARM 100066_0608_00_en.
  • If applicable, the page number(s) to which your comments refer.
  • A concise explanation of your comments.

ARM also welcomes general suggestions for additions and improvements.

Note:

ARM tests the PDF only in Adobe Acrobat and Acrobat Reader, and cannot guarantee the quality of the represented document when used with any other PDF reader.

Other information

Non-ConfidentialPDF file icon PDF versionARM 100066_0608_00_en
Copyright © 2014–2017 ARM Limited or its affiliates. All rights reserved.