SPRUIG5E January   2018  – March 2023 TDA4VM , TDA4VM-Q1

 

  1.   Abstract
  2. 1About This Document
    1. 1.1 Related Documents
    2. 1.2 Trademarks
  3. 2Migrating C Source from C6000 to C7000
    1. 2.1  Compiler Options
    2. 2.2  Native Vector Data Types
    3. 2.3  Type Qualifiers: near and far
    4. 2.4  64-bit long Type
    5. 2.5  References to Control Registers
    6. 2.6  Memory-Mapped Peripherals
    7. 2.7  Run-Time Support
    8. 2.8  Contents of Migration Header File c6x_migration.h
      1. 2.8.1 Supported Macros
      2. 2.8.2 Non-Supported Macros
      3. 2.8.3 Legacy Data Types
      4. 2.8.4 Legacy Intrinsics
    9. 2.9  Galois Field Multiply Instructions
    10. 2.10 Performance Considerations for Migrated Code
      1. 2.10.1 UNROLL Pragma
      2. 2.10.2 Subvector Access
      3. 2.10.3 16x16 and 16x32 Bit Multiplies
      4. 2.10.4 __x128_t Type
      5. 2.10.5 Unsigned Array Offsets
      6. 2.10.6 Streaming Engine and Streaming Address Generator
      7. 2.10.7 Additional Optimization Guidance
  4. 3Host Emulation
  5. 4Revision History
    1.     29
    2.     30

About This Document

Changes described in this document should be made to source code originally written for the C6000 family in order to migrate to C7000 (C7x) processors. In particular, this document describes aspects of source code that you will need to evaluate and manually migrate.

This document also describes the support provided by the c6x_migration.h header file, which is included in C7000 Run-Time Support Library. You may include this file to facilitate compilation. For applications that do not have hardcoded references to addresses, control registers, or memory-mapped peripherals, #including this header file should be sufficient to build and run.

This document is not intended to be a compiler user’s guide for either the C6000 or C7000 compiler toolchain. Familiarity with the C6000 compiler is therefore assumed.

There are two major C6000 programming paradigms that are not supported by the C7000 compiler and are therefore not discussed in this document:

  • C6000 linear assembly
  • C6000 hand-coded assembly

Existing C6000 source code written in either of these formats will need to be rewritten either in C or in C7000 assembly in order to be compiled by the C7000 compiler.