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 总结了 C28 和 C29 编程模型之间的主要差异

表 2-1 C28 与 C29 CPU 编程模型
C28 CPU C29 CPU
每个时钟周期发出指令 单通道 VLIW - 多个(多达 8 个)
流水线级 8 9
存储器映射 分散 连续
8b 字节可寻址性

寄存器 8 x 64 位浮点
(具有双精度 FPU64)
8 x 32 位浮点(具有单精度 FPU)
3 x 32 位定点(ACC、P、XT)
8 x 32 位寻址(SP、DP)
16 x 64 位浮点
(32 位浮点寄存器对)
8 x 64 位定点
(32 位定点寄存器对)
16 x 32 位寻址
堆栈范围 16 位栈指针 (SP) 32 位栈指针 (A15)
指令宽度 16 位、32 位 16 位、32 位、48 位
总线宽度 1 x 32 位数据读取(32 位地址)
1 x 32 位数据写入(32 位地址)
1 x 32 位程序读取(22b 地址)
2 x 64 位数据读取(32 位地址)
1 x 64 位数据写入(32 位地址)
1 x 128 位程序读取(32 位地址)