Sourcery G++ ARM EABI Sourcery G++ 2011.02-2 Getting Started Sourcery G++: ARM EABI: Sourcery G++ 2011.02-2: Getting Started Codesourcery, Inc
Total Page:16
File Type:pdf, Size:1020Kb
Sourcery G++ ARM EABI Sourcery G++ 2011.02-2 Getting Started Sourcery G++: ARM EABI: Sourcery G++ 2011.02-2: Getting Started CodeSourcery, Inc. Copyright © 2005, 2006, 2007, 2008, 2009, 2010, 2011 CodeSourcery, Inc. All rights reserved. Abstract This guide explains how to install and build applications with Sourcery G++, CodeSourcery's cus- tomized, validated, and supported version of the GNU Toolchain. Sourcery G++ includes everything you need for application development, including C and C++ compilers, assemblers, linkers, and libraries. When you have finished reading this guide, you will know how to use Sourcery G++ both from the IDE and from the command line. Table of Contents Preface ...................................................................................................................... v 1. Intended Audience ........................................................................................... vi 2. Organization ................................................................................................... vi 3. Typographical Conventions .............................................................................. vii 1. Quick Start .............................................................................................................. 1 1.1. Installation and Set-Up ................................................................................... 2 1.2. Configuring Sourcery G++ for the Target System ................................................. 2 1.3. Building Your Program ................................................................................... 3 1.4. Running and Debugging Your Program .............................................................. 3 2. Installation and Configuration ..................................................................................... 4 2.1. Terminology ................................................................................................. 5 2.2. System Requirements ..................................................................................... 5 2.3. Registering with the Sourcery G++ Portal ........................................................... 6 2.4. Downloading an Installer ................................................................................. 6 2.5. Installing Sourcery G++ .................................................................................. 7 2.6. Installing Sourcery G++ Updates .................................................................... 10 2.7. Setting up the Environment ............................................................................ 10 2.8. License Keys ............................................................................................... 12 2.9. Installing Add-Ons ....................................................................................... 17 2.10. Uninstalling Sourcery G++ ........................................................................... 18 3. Sourcery G++ for ARM EABI ................................................................................... 20 3.1. Included Components and Features .................................................................. 21 3.2. Library Configurations .................................................................................. 21 3.3. CodeSourcery C Library ................................................................................ 24 3.4. Using Sourcery G++ with Kinetis Boards ......................................................... 24 3.5. Using Sourcery G++ with Stellaris Boards ........................................................ 25 3.6. Using Sourcery G++ with STM32 Boards ......................................................... 26 3.7. Peripheral Register Browsing ......................................................................... 26 3.8. Using Flash Memory .................................................................................... 28 3.9. Using VFP Floating Point .............................................................................. 29 3.10. ABI Compatibility ...................................................................................... 30 3.11. ARM Profiling Implementation ..................................................................... 31 3.12. Object File Portability ................................................................................. 31 4. Using the Sourcery G++ IDE .................................................................................... 33 4.1. Overview .................................................................................................... 34 4.2. Building Applications ................................................................................... 34 4.3. Debugging Applications ................................................................................ 41 4.4. Advanced IDE Features ................................................................................. 52 5. Using Sourcery G++ from the Command Line ............................................................. 65 5.1. Building an Application ................................................................................. 66 5.2. Running Applications on the Target System ....................................................... 66 5.3. Running Applications from GDB .................................................................... 66 6. CS3™: The CodeSourcery Common Startup Code Sequence .......................................... 69 6.1. Linker Scripts .............................................................................................. 70 6.2. Program Startup and Termination .................................................................... 72 6.3. Memory Layout ........................................................................................... 75 6.4. Interrupt Vectors and Handlers ........................................................................ 77 6.5. Supported Boards for ARM EABI ................................................................... 78 6.6. Interrupt Vector Tables ................................................................................. 148 7. Sourcery G++ Debug Sprite .................................................................................... 163 7.1. Probing for Debug Devices ........................................................................... 164 iii Sourcery G++ 7.2. Debug Sprite Example ................................................................................. 164 7.3. Invoking Sourcery G++ Debug Sprite ............................................................. 165 7.4. Sourcery G++ Debug Sprite Options .............................................................. 166 7.5. ARMUSB (Stellaris) Devices ........................................................................ 167 7.6. Remote Debug Interface Devices ................................................................... 169 7.7. Actel FlashPro Devices ................................................................................ 169 7.8. Keil ULINK2 Devices ................................................................................. 170 7.9. Altera Devices ........................................................................................... 172 7.10. SEGGER J-Link Devices ........................................................................... 173 7.11. P&E Devices ........................................................................................... 174 7.12. Debugging a Remote Board ........................................................................ 175 7.13. Supported Board Files ............................................................................... 176 7.14. Board File Syntax ..................................................................................... 181 8. Next Steps with Sourcery G++ ................................................................................ 185 8.1. Sourcery G++ Support ................................................................................. 186 8.2. Sourcery G++ Knowledge Base ..................................................................... 186 8.3. Example Programs ...................................................................................... 186 8.4. Manuals for GNU Toolchain Components ....................................................... 186 8.5. Help for the Sourcery G++ IDE ..................................................................... 187 A. Sourcery G++ Release Notes .................................................................................. 189 A.1. Changes in Sourcery G++ for ARM EABI ...................................................... 190 B. Sourcery G++ Licenses ......................................................................................... 197 B.1. Licenses for Sourcery G++ Components ......................................................... 198 B.2. Sourcery G++ Software License Agreement .................................................... 199 B.3. Attribution ................................................................................................ 207 iv Preface This preface introduces the Sourcery G++ Getting Started guide. It explains the structure of this guide and describes the documentation conventions used. v Preface 1. Intended Audience This guide is written for people who will install and/or use Sourcery G++. This guide provides a step-by-step guide to installing Sourcery G++ and to building simple applications. Parts of this doc-