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

Run-Time Support

When compiling code written for C6000 with the C7000 compiler, you must #include the C6000-to-C7000 migration reference header file c6x_migration.h at the beginning of the migrated source file.

  • For most applications, including this header file should be sufficient to build and run.
  • This file is provided as a reference implementation. You can modify or rename the file. For example, renaming the file to c6x.h would remove the need to change many #include directives in a project.
  • You may #include both c6x_migration.h and c7x.h while in transition between C6000 and C7000 code.
  • C/C++ source code that does not rely on C6000 intrinsics does not require a migration header file.

If you want to remove all references to C6000 when migrating, it is not necessary to include the C6000-to-C7000 migration reference header file. Instead, remove or modify all references to C6000-specific intrinsics and definitions. In this case, replace all instances of #include <c6x.h> with #include <c7x.h>.