TI Logo
C29x Clang Compiler Tools User's Guide
v0.1
  • Getting Started Guide
  • Migration Guide
  • Compiler Tools User Manual
    • 1. Using the C/C++ Compiler
    • 2. C/C++ Language Implementation
    • 3. Run-Time Environment
      • 3.1. Memory Model
      • 3.2. Object Representation
      • 3.3. Accessing Linker Symbols in C and C++
      • 3.4. Interfacing C and C++ With Assembly Language
      • 3.5. Interrupt Handling
      • 3.6. Built-In Functions
      • 3.7. System Initialization
    • 4. Using Run-Time-Support Functions and Building Libraries
    • 5. Introduction to Object Modules
    • 6. Program Loading and Running
    • 7. Archiver Description
    • 8. Linker Description
    • 9. Code Coverage
    • 10. C29x Security Model
    • 11. Name and C++ Name Demangler Utilities
    • 12. Object File Utilities
  • Note on Linux Installations
  • Additional Material
  • Support
  • Version History
  • Important Notice
C29x Clang Compiler Tools User's Guide
  • »
  • c29clang Compiler User Manual »
  • 3. Run-Time Environment

3. Run-Time EnvironmentΒΆ

This chapter describes the C/C++ run-time environment. To ensure successful execution of C/C++ programs, it is critical that all run-time code maintain this environment. It is also important to follow the guidelines in this chapter if you write assembly language functions that interface with C/C++ code.

Table of Contents

  • 3.1. Memory Model
    • 3.1.1. Sections
    • 3.1.2. C/C++ System Stack
    • 3.1.3. Dynamic Memory Allocation
  • 3.2. Object Representation
    • 3.2.1. Data Type Storage
    • 3.2.2. Structure and Array Alignment
    • 3.2.3. Bit Fields
    • 3.2.4. Character String Constants
  • 3.3. Accessing Linker Symbols in C and C++
  • 3.4. Interfacing C and C++ With Assembly Language
    • 3.4.1. Using Assembly Language Modules With C/C++ Code
    • 3.4.2. Accessing Assembly Language Functions From C/C++
    • 3.4.3. Accessing Assembly Language Variables From C/C++
    • 3.4.4. Sharing C/C++ Header Files With Assembly Source
    • 3.4.5. Using Inline Assembly Language
    • 3.4.6. Modifying Compiler Output
  • 3.5. Interrupt Handling
    • 3.5.1. Saving Registers During Interrupts
    • 3.5.2. Using C/C++ Interrupt Routines
    • 3.5.3. Using Assembly Language Interrupt Routines
    • 3.5.4. How to Map Interrupt Routines to Interrupt Vectors
    • 3.5.5. Using Software Interrupts
    • 3.5.6. Other Interrupt Information
  • 3.6. Built-In Functions
  • 3.7. System Initialization
    • 3.7.1. Boot Hook Functions for System Pre-Initialization
    • 3.7.2. Run-Time Stack
    • 3.7.3. Automatic Initialization of Variables
Previous Next

© Copyright 2024, Texas Instruments Incorporated. Last updated on Jul 22, 2024.