ZHCUA98E january   2018  – march 2023 TDA4VM , TDA4VM-Q1

 

  1.   摘要
  2. 1关于本文档
    1. 1.1 相关文档
    2. 1.2 商标
  3. 2将 C 源代码从 C6000 迁移到 C7000
    1. 2.1  编译器选项
    2. 2.2  原生矢量数据类型
    3. 2.3  类型限定符:near 和 far
    4. 2.4  64 位 long 类型
    5. 2.5  对控制寄存器的引用
    6. 2.6  存储器映射外设
    7. 2.7  运行时支持
    8. 2.8  迁移头文件 c6x_migration.h 的内容
      1. 2.8.1 支持的宏
      2. 2.8.2 不受支持的宏
      3. 2.8.3 传统数据类型
      4. 2.8.4 传统内在函数
    9. 2.9  伽罗瓦域乘法指令
    10. 2.10 有关迁移代码的性能注意事项
      1. 2.10.1 UNROLL Pragma
      2. 2.10.2 子矢量访问
      3. 2.10.3 16x16 和 16x32 位乘法
      4. 2.10.4 __x128_t 类型
      5. 2.10.5 无符号数组偏移
      6. 2.10.6 流引擎和流地址生成器
      7. 2.10.7 其他优化指南
  4. 3主机仿真
  5. 4修订历史记录
    1.     29
    2.     30

关于本文档

应该对最初为 C6000 系列编写的源代码进行本文档中描述的更改,以便迁移到 C7000 (C7x) 处理器。具体而言,本文档描述了您需要评估和手动迁移的源代码的各个方面。

本文档还描述了 c6x_migration.h 头文件提供的支持,该文件包含在 C7000 运行时支持库中。您可以包含此文件以方便编译。对于没有对地址、控制寄存器或内存映射外设进行硬编码引用的应用程序,#include 这个头文件应该足以进行构建和运行。

本文档并非用作 C6000 或 C7000 编译器工具链的编译器用户指南。因此假定您熟悉 C6000 编译器。

C7000 编译器不支持两种主要的 C6000 编程范例,因此不在本文档中讨论:

  • C6000 线性汇编
  • C6000 手工编码汇编

以这些格式中的任何一种编写的现有 C6000 源代码都需要用 C 或 C7000 汇编语言重写,以便由 C7000 编译器编译。