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

Non-Supported Macros

The following macros will not be defined by the c6x_migration.h migration header file. You should either change the code or manually defining the macro via the --define (-D) compiler option.

  • __DSBT__ — No support.
  • __TI_TLS__ and __TI_USE_TLS — Not yet implemented.
  • __TI_32_BIT_LONG__ and __TI_40_BIT_LONG__ — Neither of these macros are defined since long on C7000 is always 64 bits.
  • _LARGE_MODEL, _SMALL_MODEL, _LARGE_MODEL_OPTION — These C6000 macros rely upon various memory model options which are no longer supported on C7000. If your code requires that these macros be defined, use the --define (-D) compiler option.