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.

[参考译文] TMS320C6670:使用汇编器命令调用外部函数

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1117279/tms320c6670-call-external-function-using-assembler-command

器件型号:TMS320C6670

您好!

我正在编写代码来测试 C66x 中的8个单元、因此我需要调用在文件外部定义的外部函数。
如何使用汇编器指令进行外部调用?

谢谢你。

此致、

Sofiene BK

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

    Sofiene、您好!

    重复我对其他帖子的反馈:

    正如器件产品页面上所述、 此 器件 没有来自 TI 的持续直接设计支持、我们无法帮助解决此问题。

    产品页面上有第三方列表、因此我将提供一个常见问题解答帖子、其中包含他们的联系信息。  常见问题解答中未列出此器件、因此有关此器件的配套资料不会使用、但至少它将为您提供第三方的详细信息: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/813421/faq-davinci-digital-media-devices-support-guidance-dm335-dm355-dm365-dm368-dm369-dm3725-dm3730-dm383-dm385-dm388-dm505-dm640-dm642-dm643-dm6431-dm6433-dm6435-dm6437-dm6441-dm6443-dm6446-dm6467-dm6467t-dm647-dm648-etc

    此致、

    Ralph Jacobi

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

    Sofiene BK、

    8个单元、您是指 C6678中的8个内核、还是意味着8个采用 C6670处理器的产品?

    在此问题中、器件型号显示为 C6670。

    --

    要调用外部函数、我们可以使用"extern "

    例如、"extern void CSL_tscEnable (void);"

    ----

    下面的文档介绍了汇编器指令的用法。

    请查看这些文档。

    https://www.ti.com/lit/ug/sprui04d/sprui04d.pdf 

    https://www.ti.com/lit/ug/sprui03d/sprui03d.pdf 

    https://www.ti.com/tool/C6000-CGT

    此致

    Shankari G

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

    尊敬的 Ahankari:

    基本上、在这里、我将讨论8个联结器 L1、L2、M1、M2、D1、 D2、S1和 S2。
    您为我提议的是、当我编写 C 代码时可以使用它、但正如您在我的问题中看到的、它是关于如何使用汇编器指令调用外部函数的!

    此致、

    Sofiene BK

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

    Sofiene BK、

    让我通知一位编译专家——Ki-Soo-Lee。

    感谢您的耐心等待。

    此致

    Shankari G

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

    Sofiene BK、

    我不是与装配相关的东西的专家。 但是、  

    我想说的是...

    要调用外部函数、我们可以使用"extern "

    例如、"extern void CSL_tscEnable (void);"

    在这里, CSL_tscEnable()函数作为汇编代码存在。 -->在文件"CSL_TSC.asm"中


    全局_CSL_tscEnable
    全局 CSL_tscEnable
    .sect ".text:cslsys_section:tsc"

    _cSL_tscEnable:
    BNOP B3, 4;
    MVC A4、TSCL;通过写入 TSCL 来启动 CPU 定时器

    全局_CSL_tscRead
    全局 CSL_tscRead
    .sect ".text:cslsys_section:tsc"
    _cSL_tscRead:
    BNOP B3、2;分支返回指针
    MVC TSCL、B0;读取 TSCL
    MVC TSCH、B1;读取 TSCH
    || MV B0、A4
    MV B1、A5

    --

    在.c 文件中,我们可以  使用"extern "调用此函数 CSL_tscEnable(),在链接器部分,我们可以包含包含包含在汇编语言中编写的 CSL 函数的"ti.CSL.ae66"库

    让我通知一位编译专家——Ki-Soo-Lee。

    感谢您的耐心等待。

    此致

    Shankari G

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

    感谢你的答复。

    这很有帮助。

    BR