Sourcery CodeBench Lite
Table of Contents
Preface
1. Intended Audience
2. Organization
3. Typographical Conventions
Chapter 1 Quick Start
1.1. Installation and Set-Up
1.2. Configuring Sourcery CodeBench Lite for the Target System
1.3. Building Your Program
1.4. Running and Debugging Your Program
Chapter 2 Installation and Configuration
2.1. Terminology
2.2. System Requirements
2.2.1. Host Operating System Requirements
2.2.2. Host Hardware Requirements
2.2.3. Target System Requirements
2.3. Downloading an Installer
2.4. Installing Sourcery CodeBench Lite
2.4.1. Using the Sourcery CodeBench Lite Installer on Microsoft Windows
2.4.2. Using the Sourcery CodeBench Lite Installer on GNU/Linux Hosts
2.4.3. Installing Sourcery CodeBench Lite from a Compressed Archive
2.5. Installing Sourcery CodeBench Lite Updates
2.6. Setting up the Environment
2.6.1. Setting up the Environment on Microsoft Windows Hosts
2.6.1.1. Setting the PATH
2.6.1.2. Working with Cygwin
2.6.2. Setting up the Environment on GNU/Linux Hosts
2.7. Customer Experience Improvement Program
2.8. Uninstalling Sourcery CodeBench Lite
2.8.1. Using the Sourcery CodeBench Lite Uninstaller on Microsoft Windows
2.8.2. Using the Sourcery CodeBench Lite Uninstaller on GNU/Linux
2.8.3. Uninstalling a Compressed Archive Installation
Chapter 3 Sourcery CodeBench Lite for ARM EABI
3.1. Included Components and Features
3.2. Library Configurations
3.3. Using Flash Memory
3.4. Using VFP Floating Point
3.4.1. Enabling Hardware Floating Point
3.4.2. NEON SIMD Code
3.4.3. Half-Precision Floating Point
3.5. Fixed-Point Arithmetic
3.6. ABI Compatibility
3.7. ARM Profiling Implementation
3.8. Object File Portability
Chapter 4 Using Sourcery CodeBench from the Command Line
4.1. Building an Application
4.2. Running Applications on the Target System
4.3. Running Applications from GDB
4.3.1. Connecting to an External GDB Server
4.3.2. Loading and Running Applications
4.4. Using the Compiler Cache
4.4.1. Invoking arm-none-eabi-cs
Chapter 5 CS3™: The CodeSourcery Common Startup Code Sequence
5.1. Linker Scripts
5.1.1. Program and Data Placement
5.1.2. Hosting and Semihosting
5.1.3. Specifying a Linker Script
5.2. Program Startup and Termination
5.2.1. The Hard Reset Phase
5.2.2. The Assembly Initialization Phase
5.2.3. The C Initialization Phase
5.2.4. Arguments to main
5.2.5. Program Termination
5.3. Memory Layout
5.3.1. Memory Regions and Program Sections
5.3.2. Programmatic Access to the CS3 Memory Map
5.3.3. Heap and Stack Placement
5.4. Interrupt Vectors and Handlers
5.4.1. ARM EABI Interrupt Vector Implementation
5.4.2. Writing Interrupt Handlers
5.5. Supported Boards for ARM EABI
5.6. Interrupt Vector Tables
5.6.1. __cs3_interrupt_vector_arm
5.6.2. __cs3_interrupt_vector_micro
Chapter 6 Next Steps with Sourcery CodeBench
6.1. Sourcery CodeBench Knowledge Base
6.2. Manuals for GNU Toolchain Components
Appendix A Sourcery CodeBench Lite Release Notes
A.1. Changes in Sourcery CodeBench Lite for ARM EABI
A.1.1. Changes in Sourcery CodeBench Lite 2013.11-24
A.1.2. Changes in Sourcery CodeBench Lite 2013.05-23
A.1.3. Changes in Sourcery CodeBench Lite 2013.05-4
A.1.4. Changes in Sourcery CodeBench Lite 2012.09-63
A.1.5. Changes in Sourcery CodeBench Lite 2012.09-17
A.1.6. Changes in Older Releases
Appendix B Sourcery CodeBench Lite Licenses
B.1. Sourcery CodeBench Lite License Agreement
B.1.1. Embedded Software and Hardware License Agreement
B.2. Licenses for Sourcery CodeBench Lite Components
B.2.1. Mentor Graphics Proprietary Components
B.2.2. Components
B.2.3. Third-Party Information
B.2.3.1. Unzip
B.3. Attribution
B.3.1. Android Open Source Project
B.3.2. Newlib
***Linker Scripts