ARM Software Development Toolkit Reference Guide
Total Page:16
File Type:pdf, Size:1020Kb
ARM Software Development Toolkit Version 2.50 Reference Guide Copyright © 1997, 1998 ARM Limited. All rights reserved. ARM DUI 0041C ARM Software Development Toolkit Reference Guide Copyright © 1997, 1998 ARM Limited. All rights reserved. Release Information The following changes have been made to this book. Change History Date Issue Change Jan 1997 A Created from ARM DUI 0020. Includes major updates for SDT 2.10 June 1997 B Updated for SDT 2.11 Nov 1998 C Updated for SDT 2.50 Proprietary Notice ARM, Thumb, StrongARM, and the ARM Powered logo are registered trademarks of ARM Limited. Angel, ARMulator, EmbeddedICE, Multi-ICE, ARM7TDMI, ARM9TDMI, and TDMI are trademarks of ARM Limited. All other products or services mentioned herein may be 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 Limited 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. ii Copyright © 1997, 1998 ARM Limited. All rights reserved. ARM DUI 0041C Contents ARM Software Development Toolkit Reference Guide Preface About this book ............................................................................................ viii Further reading .............................................................................................. x Typographical conventions .......................................................................... xiii Feedback ..................................................................................................... xiv Chapter 1 Introduction 1.1 About the ARM Software Development Toolkit ........................................... 1-2 1.2 Supported platforms .................................................................................... 1-5 1.3 What is new? .............................................................................................. 1-6 Chapter 2 The ARM Compilers 2.1 About the ARM compilers ........................................................................... 2-2 2.2 File usage ................................................................................................... 2-6 2.3 Command syntax ...................................................................................... 2-10 Chapter 3 ARM Compiler Reference 3.1 Compiler-specific features ........................................................................... 3-2 3.2 C and C++ implementation details ............................................................ 3-14 3.3 Standard C implementation definition ...................................................... 3-25 ARM DUI 0041C Copyright © 1997, 1998 ARM Limited. All rights reserved. iii Contents 3.4 Standard C++ implementation definition .................................................. 3-35 3.5 C and C++ language extensions .............................................................. 3-37 3.6 Predefined macros ................................................................................... 3-40 3.7 Implementation limits ................................................................................ 3-43 3.8 Limits for integral numbers ....................................................................... 3-46 3.9 Limits for floating-point numbers .............................................................. 3-47 3.10 C++ language feature support .................................................................. 3-49 Chapter 4 The C and C++ Libraries 4.1 About the runtime libraries ......................................................................... 4-2 4.2 The ANSI C library ...................................................................................... 4-5 4.3 The ARM C++ libraries ............................................................................. 4-14 4.4 The embedded C library ........................................................................... 4-18 4.5 Target-dependent ANSI C library functions .............................................. 4-26 4.6 Target-dependent I/O support functions ................................................... 4-29 4.7 Target-dependent kernel functions ........................................................... 4-35 4.8 Target-dependent operating system functions ......................................... 4-40 Chapter 5 Assembler 5.1 Command syntax ........................................................................................ 5-3 5.2 Format of source lines ................................................................................ 5-8 5.3 Predefined register and coprocessor names .............................................. 5-9 5.4 Built-in variables ....................................................................................... 5-10 5.5 ARM pseudo-instructions ......................................................................... 5-11 5.6 Thumb pseudo-instructions ...................................................................... 5-19 5.7 Symbols .................................................................................................... 5-25 5.8 Directives .................................................................................................. 5-30 5.9 Expressions and operators ....................................................................... 5-88 Chapter 6 Linker 6.1 About the linker ........................................................................................... 6-2 6.2 Command syntax ........................................................................................ 6-4 6.3 Building blocks for objects and images .................................................... 6-12 6.4 Image file formats ..................................................................................... 6-13 6.5 Image structure ......................................................................................... 6-15 6.6 Specifying an image memory map ........................................................... 6-17 6.7 About scatter loading ................................................................................ 6-21 6.8 The scatter load description file ................................................................ 6-23 6.9 Area placement and sorting rules ............................................................. 6-31 6.10 Linker-defined symbols ............................................................................. 6-33 6.11 Including library members ........................................................................ 6-36 6.12 Automatic inclusion of libraries ................................................................. 6-38 6.13 Handling relocation directives ................................................................... 6-40 Chapter 7 ARM Symbolic Debugger 7.1 About armsd ............................................................................................... 7-2 iv Copyright © 1997, 1998 ARM Limited. All rights reserved. ARM DUI 0041C Contents 7.2 Command syntax ........................................................................................ 7-3 7.3 Running armsd ............................................................................................ 7-5 7.4 Alphabetical list of armsd commands .......................................................... 7-9 7.5 Specifying source-level objects ................................................................. 7-48 7.6 Armsd variables ........................................................................................ 7-53 7.7 Low-level debugging ................................................................................. 7-58 7.8 armsd commands for EmbeddedICE ........................................................ 7-61 7.9 Accessing the Debug Communications Channel ...................................... 7-63 Chapter 8 Toolkit Utilities 8.1 Functions of the toolkit utilities .................................................................... 8-2 8.2 The fromELF utility ...................................................................................... 8-3 8.3 ARM profiler ................................................................................................ 8-6 8.4 ARM librarian .............................................................................................. 8-8 8.5 ARM object file decoder ............................................................................ 8-10 8.6 ARM executable format decoder ............................................................... 8-11 8.7 ANSI to PCC C Translator ........................................................................ 8-12 8.8 The Flash downloader .............................................................................. 8-15 Chapter 9 ARM Procedure Call Standard 9.1 About the ARM Procedure Call Standard ................................................... 9-2 9.2 APCS definition ..........................................................................................