ZHCUCF7 October   2024 TMS320C28341 , TMS320C28342 , TMS320C28343 , TMS320C28343-Q1 , TMS320C28344 , TMS320C28345 , TMS320C28346 , TMS320C28346-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2C28 到 C29 的 CPU 迁移
    1. 2.1 用例
    2. 2.2 主要差异
    3. 2.3 源代码迁移
      1. 2.3.1 C/C++ 源代码
        1. 2.3.1.1 pragma 和属性
        2. 2.3.1.2
        3. 2.3.1.3 内联函数
        4. 2.3.1.4 内联汇编
        5. 2.3.1.5 关键字
        6. 2.3.1.6 数据类型差异
        7. 2.3.1.7 迁移工具支持
      2. 2.3.2 汇编语言源代码
    4. 2.4 工具链迁移
      1. 2.4.1 编译器
      2. 2.4.2 链接器
      3. 2.4.3 CCS 工程迁移
  6. 3CLA 到 C29 的 CPU 迁移
    1. 3.1 用例
    2. 3.2 主要差异
    3. 3.3 源代码迁移
      1. 3.3.1 C/C++ 源代码
        1. 3.3.1.1 数据类型差异
        2. 3.3.1.2 迁移 CLAmath.h 函数和内联函数
        3. 3.3.1.3 将 C28 和 CLA 迁移到相同的 C29 CPU
        4. 3.3.1.4 将 C28 和 CLA 迁移到不同的 C29 CPU
      2. 3.3.2 汇编语言源代码
    4. 3.4 工具链迁移
  7. 4参考资料

编译器

C28 编译器和 C29 编译器使用不同的底层基础设施和完全不同的源代码基础。

  • C28 编译器是 TI 专有的,而 C29 编译器基于 LLVM-clang。编译器选项完全不同,需要进行更改。选项含义背后的许多概念也发生了变化,例如出于优化考虑。可在此处获取 C29 Clang 编译器工具用户指南。它包含一个详细介绍迁移的章节,请参阅此处
  • C29 编译器仅支持 EABI 输出格式,而 C28 编译器既支持 COFF,也支持 EABI。从 C28-COFF 迁移到 C29 的用户应首先从 COFF 迁移到 EABI,可参阅此处提供的文档。
注: C29 CPU 采用 VLIW 架构,相较于 C28 和 CLA,其并行性显著提高。然而,要使 C29 编译器充分利用 C29 中的这些并行功能单元,用户必须使用更高级别的优化(例如 -o2、-o3)。