This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TMS320C6678:^^ C 语言的循环寻址;&放大器;*

Guru**** 2590100 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642125/compiler-tms320c6678-circular-addressing-in-c-using-c

器件型号:TMS320C6678

工具/软件:TI C/C++编译器

我的问题是如何通过 C 语言使用 C6678的循环寻址???? 谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Oded、

    我建议您提供一个教程、说明如何在 TMS320C6000器件上实现循环缓冲、并使用 c 代码解释汇编器示例。
    www.ti.com/.../spra645a.pdf

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢克韦托林

    我将阅读这篇文章、但请看我、它会解释处理器的循环寻址、但不会解释

    如何通过 C 语言使用它。

    Oded

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Cvetolin

    我正在阅读您建议的文章、在第6页的第4段中、您会看到用于循环缓冲的 C 语言支持工具
    在未来版本中提供。 您能否判断是否已经有包含此支持的版本以及它是什么版本????

    谢谢

    Oded
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Oded shahua">您能否分辨出是否已有包含此支持的版本以及它的版本是什么????从  2017年5月开始阅读最新的 TMS320C6000优化编译器 v8.2.x 用户指南 C 编译器中仍然不支持循环地址。

    例如 、第8.3节寄存器惯例规定:[引用]例如、编译器假定所有启用循环寻址的寄存器都设置为线性寻址(AMR 用于启用循环寻址)。 启用循环寻址、然后调用 C/C++函数而不将 AMR 恢复为默认设置违反了调用惯例。

     8.6.14节 IRP 和 AMR 惯例规定:

    [引用]编译器对 IRP 和 AMR 控制寄存器做出了某些假设。 这些假设应在所有方案中强制执行、具体如下:

    调用函数或从函数返回时、AMR 必须设置为0。 函数不必保存和恢复 AMR、但必须确保 AMR 在返回前为0。

    启用中断时、AMR 必须设置为0、否则在所有中断中都应使用 SAVE_AMR 和 STORE_AMR 宏命令(请参阅第8.7.3节)。[/引用]

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢切斯特
    我认为,仍然没有任何支持,因为从2001年开始,他们编写的文件将在将来的版本中提供。 它
    看起来他们最终没有广告。
    我知道您添加到我的 AMR 相关行、但它仅是有关如何在中断中处理 AMR 的说明
    它不能解决如何使用 C 中的循环缓冲的问题。我知道如何从 C 中写入 AMR
    但不知道如何制作一个特定的循环寻址寄存器来用作我的指针。

    Oded