Arm® Compiler User Guide 100748 0610 00 En
User Manual:
Open the PDF directly: View PDF
Page Count: 142 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Arm® Compiler User Guide
- Table of Contents
- List of Figures
- List of Figures
- Preface
- 1 : Getting Started
- 1.1 : Introduction to Arm® Compiler 6
- 1.2 : Installing Arm® Compiler
- 1.3 : Accessing Arm® Compiler from Arm® DS-5 Development Studio
- 1.4 : Accessing Arm® Compiler from Arm® Keil® µVision® IDE
- 1.5 : Compiling a Hello World example
- 1.6 : Using the integrated assembler
- 1.7 : Running bare-metal images
- 1.8 : Architectures supported by Arm® Compiler
- 2 : Using Common Compiler Options
- 2.1 : Mandatory armclang options
- 2.2 : Selecting source language options
- 2.3 : Selecting optimization options
- 2.4 : Building to aid debugging
- 2.5 : Linker options for mapping code and data to target memory
- 2.6 : Controlling diagnostic messages
- 2.7 : Selecting floating-point options
- 2.8 : Compilation tools command-line option rules
- 3 : Writing Optimized Code
- 4 : Using Assembly and Intrinsics in C or C++ Code
- 5 : Mapping Code and Data to the Target
- 5.1 : What the linker does to create an image
- 5.2 : Placing data items for target peripherals with a scatter file
- 5.3 : Placing the stack and heap with a scatter file
- 5.4 : Root region
- 5.5 : Placing functions and data in a named section
- 5.6 : Placing functions and data at specific addresses
- 5.6.1 : Placing __at sections at a specific address
- 5.6.2 : Restrictions on placing __at sections
- 5.6.3 : Automatically placing __at sections
- 5.6.4 : Manually placing __at sections
- 5.6.5 : Placing a key in flash memory with an __at section
- 5.6.6 : Placing constants at fixed locations
- 5.6.7 : Placing jump tables in ROM
- 5.6.8 : Placing a variable at a specific address without scatter-loading
- 5.6.9 : Placing a variable at a specific address with scatter-loading
- 5.7 : Placement of Arm® C and C++ library code
- 5.8 : Placement of unassigned sections
- 5.8.1 : Default rules for placing unassigned sections
- 5.8.2 : Command-line options for controlling the placement of unassigned sections
- 5.8.3 : Prioritizing the placement of unassigned sections
- 5.8.4 : Specify the maximum region size permitted for placing unassigned sections
- 5.8.5 : Examples of using placement algorithms for .ANY sections
- 5.8.6 : Example of next_fit algorithm showing behavior of full regions, selectors, and priority
- 5.8.7 : Examples of using sorting algorithms for .ANY sections
- 5.8.8 : Behavior when .ANY sections overflow because of linker-generated content
- 5.9 : Placing veneers with a scatter file
- 5.10 : Preprocessing a scatter file
- 5.11 : Reserving an empty block of memory
- 5.12 : Aligning regions to page boundaries
- 5.13 : Aligning execution regions and input sections
- 6 : Embedded Software Development
- 6.1 : About embedded software development
- 6.2 : Default compilation tool behavior
- 6.3 : C library structure
- 6.4 : Default memory map
- 6.5 : Application startup
- 6.6 : Tailoring the C library to your target hardware
- 6.7 : Reimplementing C library functions
- 6.8 : Tailoring the image memory map to your target hardware
- 6.9 : About the scatter-loading description syntax
- 6.10 : Root regions
- 6.11 : Placing the stack and heap
- 6.12 : Run-time memory models
- 6.13 : Reset and initialization
- 6.14 : The vector table
- 6.15 : ROM and RAM remapping
- 6.16 : Local memory setup considerations
- 6.17 : Stack pointer initialization
- 6.18 : Hardware initialization
- 6.19 : Execution mode considerations
- 6.20 : Target hardware and the memory map
- 6.21 : Execute-only memory
- 6.22 : Building applications for execute-only memory
- 6.23 : Vector table for ARMv6 and earlier, ARMv7-A and ARMv7-R profiles
- 6.24 : Vector table for M-profile architectures
- 6.25 : Vector Table Offset Register
- A : Supporting reference information