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.

[参考译文] 编译器/TMS320C5515:调用外部函数会导致无限循环

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/654608/compiler-tms320c5515-calling-an-external-function-causes-infinite-loop

部件号:TMS320C5515

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

好的,我尝试调用一个简单的SAR设置例程来初始化我拥有的EVM板上的ADC,以便读取电压级别,在其上执行FFT,然后通过UART发送结果。  但是,当我启动程序并调用函数来初始化SAR控制器时,程序只会停止响应,不会抛出任何错误,它只是停留和旋转,无限地,我的代码中没有循环,所以我不知道它在哪里挂起(见下文)

下面是主要功能(我知道它不是全部功能,但第一个printf 是所有重要功能):

下面是它尝试调用的函数(我知道它不是全部,但第一个printf 是所有重要的):

下面是我在运行时获得的内容:

注意缺少“开始SAR初始化...\n”

我不明白,我知道这可能是简单的,但我无法弄清楚

我在下面附上了整个项目,此问题的代码位于DSPFFT 项目中:

e2e.ti.com/.../DSP-FFT-Project.zip

感谢您的帮助,

亚伦

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

    Aaron Jencks 说:
    我正在尝试调用一个简单的SAR设置例程来初始化我拥有的EVM板上的ADC [/QUOT]

    我们在本论坛缺乏这方面的专门知识。  但我可以说明一点。

    Aaron Jencks 说:
    但第一个printf 就是所有重要的[/QUOT]

    RTS函数printf非常昂贵。  它在 托管系统上使用大量堆栈,堆栈,循环等,这不是问题。  在嵌入式系统上,这是一个非常令人担忧的问题。  请参阅文章 使用printf的提示。  首先要检查的是:您是否正在使用堆栈?

    谢谢,此致,

    -George