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参考资料

链接器

工具链的链接器仍然是 TI 链接器,而不是 LLVM 链接器。这意味着,通常情况下,链接器命令文件的语法不会改变。但是,编译期间指定链接器命令文件的方式发生了变化。本页包含有关 LLVM 中链接器标志的详细信息。有关迁移链接器命令文件以用于 C29 编译器的信息,请参阅此处

以前:

cl2000 a.c -z -llnk.cmd

之后:

c29lang a.c -Wl,-llnk.cmd
  • 在 C28 编译器中实现了一些特性,这些特性与 TI 链接器进行交互,并在链接器命令文件中包含独特的规范。如果这些特性适用于 C29,将在编译器的未来版本中添加这些特性,例如 C28 编译器支持的实时固件更新 (LFU)。