Example: dental hygienist

IAR C/C++ Development Guide

DARM-27 IAR C/C++ Development GuideCompiling and Linkingfor Arm Limited sArm CoresAFE1_AFE2-1:12 IAR C/C++ Development GuideCompiling and Linking for Arm COPYRIGHT NOTICE 1999 2021 IAR Systems part of this document may be reproduced without the prior written consent of IAR Systems AB. The software described in this document is furnished under a license and may only be used or copied in accordance with the terms of such a information in this document is subject to change without notice and does not represent a commitment on any part of IAR Systems.

DARM-27 IAR C/C++ Development Guide Compiling and Linking for Arm Limited’s Arm® Cores

Tags:

  Development, Guide, Iar c c development guide

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of IAR C/C++ Development Guide

1 DARM-27 IAR C/C++ Development GuideCompiling and Linkingfor Arm Limited sArm CoresAFE1_AFE2-1:12 IAR C/C++ Development GuideCompiling and Linking for Arm COPYRIGHT NOTICE 1999 2021 IAR Systems part of this document may be reproduced without the prior written consent of IAR Systems AB. The software described in this document is furnished under a license and may only be used or copied in accordance with the terms of such a information in this document is subject to change without notice and does not represent a commitment on any part of IAR Systems.

2 While the information contained herein is assumed to be accurate, IAR Systems assumes no responsibility for any errors or no event shall IAR Systems, its employees, its contractors, or the authors of this document be liable for special, direct, indirect, or consequential damage, losses, costs, charges, claims, demands, claim for lost profits, fees, or expenses of any nature or Systems, IAR Embedded Workbench, Embedded Trust, C-Trust, IAR Connect, C-SPY, C-RUN, C-STAT, IAR Visual State, IAR KickStart Kit, I-jet, I-jet Trace, I-scope, IAR Academy, IAR, and the logotype of IAR Systems are trademarks or registered trademarks owned by IAR Systems and Windows are registered trademarks of Microsoft , Cortex, Thumb, and TrustZone are registered trademarks of Arm Limited.

3 EmbeddedICE is a trademark of Arm Limited. uC/OS-II and uC/OS-III are trademarks of Micrium, Inc. CMX-RTX is a trademark of CMX Systems, Inc. ThreadX is a trademark of Express Logic. RTXC is a trademark of Quadros Systems. Fusion is a trademark of Unicoi Synergy is a trademark of Renesas Electronics and Acrobat Reader are registered trademarks of Adobe Systems other product names are trademarks or registered trademarks of their respective NOTICE Twenty-seventh edition: November 2021 Part number: DARM-27 This Guide applies to version of IAR Embedded Workbench for reference: BB9, , V_110411, :13 Brief contentsTables.

4 39 Preface .. 41 Part 1. Using the build tools .. 49 Introduction to the IAR build tools .. 51 Developing embedded applications .. 59 Data storage .. 73 Functions .. 77 Linking using ILINK .. 95 Linking your application .. 113 The DLIB runtime environment .. 129 Assembler language interface .. 171 Using C .. 199 Using C++ .. 207 Application-related considerations .. 217 Efficient coding for embedded applications .. 239 Part 2. Reference information .. 259 External interface details .. 261 Compiler options .. 273 Linker options.

5 327 Data representation .. 367 Extended keywords .. 383 AFE1_AFE2-1:14 IAR C/C++ Development GuideCompiling and Linking for Arm Pragma directives .. 401 Intrinsic functions .. 429 The preprocessor .. 471C/C++ standard library functions .. 489 The linker configuration file .. 501 Section reference .. 537 The stack usage control file .. 545 IAR utilities .. 553 Implementation-defined behavior for Standard C++ .. 603 Implementation-defined behavior for Standard C .. 623 Implementation-defined behavior for C89 .. 643 Index.

6 655 AFE1_AFE2-1:15 ContentsTables .. 39 Preface .. 41 Who should read this Guide .. 41 Required knowledge .. 41 How to use this Guide .. 41 What this Guide contains .. 42 Part 1. Using the build tools .. 42 Part 2. Reference information .. 42 Other documentation .. 43 User and reference guides .. 44 The online help system .. 44 Further reading .. 45 Web sites .. 45 Document conventions .. 46 Typographic conventions .. 46 Naming conventions .. 47 Part 1. Using the build tools .. 49 Introduction to the IAR build tools.

7 51 The IAR build tools an overview .. 51 The IAR C/C++ Compiler .. 51 The IAR Assembler .. 52 The IAR ILINK Linker .. 52 Specific ELF tools .. 52 External tools .. 52 IAR language overview .. 53 Device support .. 5332-bit Arm devices .. 5364-bit Arm devices .. 54 Preconfigured support files .. 55 AFE1_AFE2-1:16 IAR C/C++ Development GuideCompiling and Linking for Arm Examples for getting started .. 56 Execution modes .. 56 Special support for embedded systems .. 57 Extended keywords .. 57 Pragma directives .. 57 Predefined symbols.

8 57 Accessing low-level features .. 58 Developing embedded applications .. 59 Developing embedded software using IAR build tools .. 59 Mapping of memory .. 59 Communication with peripheral units .. 60 Event handling .. 60 System startup .. 60 Real-time operating systems .. 60 Interoperability with other build tools .. 61 The build process an overview .. 61 The translation process .. 62 The linking process .. 62 After linking .. 64 Application execution an overview .. 64 The initialization phase .. 65 The execution phase.

9 68 The termination phase .. 68 Building applications an overview .. 69 Basic project configuration .. 6932-bit mode processor configuration .. 7064-bit mode processor configuration .. 71 Optimization for speed and size .. 71 Data storage .. 73 Introduction .. 73 Different ways to store data .. 73 Storage of auto variables and parameters .. 74 The stack .. 74 AFE1_AFE2-1:1 Contents7 Dynamic memory on the heap .. 75 Potential problems .. 75 Functions .. 77 Function-related extensions .. 7732-bit Arm and Thumb code.

10 7864-bit A64 code .. 78 Execution in RAM .. 79 Interrupt functions for Cortex-M devices .. 80 Interrupts for Cortex-M .. 80 Interrupts for Cortex-M with FPU .. 80 Interrupt functions for Arm7/9/11, Cortex-A, and Cortex-R devices .. 81 Interrupt functions .. 81 Installing exception functions .. 82 Interrupts and fast interrupts .. 83 Nested interrupts .. 84 Software interrupts .. 85 Interrupt operations .. 86 Exception functions for 64-bit mode .. 86 Exception functions .. 87 Exceptions and C++ member functions .. 87 Exception vector table.


Related search queries