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.

[参考译文] TMS320F2.8027万:从另一个项目调用函数

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/619300/tms320f28027-call-a-function-from-another-project

部件号:TMS320F2.8027万

大家好,我的客户在一台设备上加载了两个项目,一个是启动代码,另一个是应用程序代码。

在引导代码中,定义了全局变量'int a',array'int b[10]和struct c。

funcA()将使用'a',funcB()将使用'b',funcC()将使用'c'。

在APP代码中,客户将调用funcA(),funcB()和funcC()。  

fun系数A可以很好地工作,但fun系数B和fun系数C不能正确执行,写入到'b'和'c'的值或从'b'和'c'读取的值不正确,为什么会发生这种情况?

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

    您是否检查了两个项目的.map文件以确保两个项目放置代码/数据时没有任何冲突? 当您逐步浏览代码时,是否从预期位置读取全局变量? 全局变量是funcB()和funcC()不能正确执行的唯一原因,还是它们似乎执行了完全不正确的代码?

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

    大家好,我已经检查过这两个项目没有冲突。

    1. funcB()处理全局数组,funcC()处理struct,对于funcA()处理变量,没有问题

    2.我不能逐步执行该功能,因为该功能在另一个项目中。 例如,我在app项目中调用funcB()和funcC(),但funcB()和funcC()在boot项目中。

    谢谢。

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

    霍华德

    我想我需要更多的细节。 功能B和C出了什么问题? 他们是否至少正确返回? 是否只是变量值错误?

    我知道您不能准确地逐步执行C代码,但从反汇编窗口判断,您是否感觉调用这些函数会将您转至正确的位置?

    Whitney

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢,我将采取一些措施并尽快回复您。