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

主要差异

表 3-3 中总结了 CLA 和 C29 编程模型之间的主要差异。

表 3-1 CLA 与 C29 编程模型差异
CLAC29
每个时钟周期发出指令单通道VLIW - 多个(多达 8 个)
流水线级89
存储器访问仅限 LSRAMRAM 和闪存
8b 字节可寻址性
寄存器4 x 32 位浮点
2 x 16 位辅助
16 x 64 位浮点

(32 位浮点寄存器对)


8 x 64 位定点

(32 位定点寄存器对)


16 x 32 位寻址
堆栈范围16 位栈指针 (SP)32 位栈指针 (A15)
指令宽度32 位16 位、32 位、48 位

总线宽度1 x 32 位数据读取(32 位地址)
1 x 32 位数据写入(32 位地址)
1 x 32 位程序读取(16 位地址)
2 x 64 位数据读取(32 位地址)
1 x 64 位数据写入(32 位地址)
1 x 128 位程序读取(32 位地址)