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.

[参考译文] TMS320F28379D:使用具有 C++的闪存 API

Guru**** 2587155 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1172550/tms320f28379d-using-the-flash-api-with-c

器件型号:TMS320F28379D
主题中讨论的其他器件:C2000WARE

您好!

我正在尝试一个将一些变量写入闪存的简单代码。  我正在尝试从代码中调用闪存 API 库、但即使是初始化也无法被识别、对于未解析的符号、我会收到10234D 错误。 我检查了库包含、项目显示了从 C2000Ware 中添加的库和 项目中的#include "F021_F2837xD_C28x.h"。  我不确定我是否遗漏了任何其他东西。

我的项目位于 C++中是否存在无法识别闪存 API 库的 C 代码的机会?  任何建议都将非常有帮助。  

未定义                                             第一个参考
符号                                               文件中
------ --------
fapi_initializeAPI (volatile FMC_registers *、unsigned long)./main.obj

非常感谢!

Aditya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="446852" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1172550/tms320f28379d-using-the-flash-api-with-c "]我不确定是否缺少任何其他内容。

    如果调用 fapi_initiatizeAPI()的文件是.cpp 文件,则可能会 对调用进行改编。 您需要通过告知 C++编译器将函数调用视为 C 函数而不是 C++函数来防止改编。

    如果您已在.cpp 文件中包含 Fapi_函数的声明、请按如下方式对其进行换行:

    extern "C"
    {
    #include "F021_F2837xD_C28x.h"
    }

    请注意、由于闪存 API 中缺少 extern "C"、这表明 TI 可能尚未测试或保证它在 C++项目中工作。

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

    非常感谢!  
    我添加了您建议的行、而不是仅包含 F021_F28x 头文件。  这有助于删除未解析的符号故障。

    编辑:我能够使 Fapi_initialize()运行。 但是我无法运行下一步。  

    当我尝试使用 Fapi_setActiveFlashBank 时、它会向我提供以下 未解析符号:  

     _fapi_serviceWatchdogTimer           /...Workspace/FLASH_Test/F021_API_F2837xD_FPU32.lib

    我猜 serviceWatchdogTimer 函数是在 F021_API 库中定义的、我无法向所有这些函数添加 extern "C"?

    再次感谢您、

    Aditya

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

    Aditya、

    请查看以下文件:

    C:\ti\c2000Ware_4_02_00_00\device_support\f2837xd\examples\dual\flash_programming\cpu01\fapi_UserDefinedFunctions.c

    C:\ti\c2000Ware_4_02_00_00\libraries\flash_api\f2837xd\include\F021.h

    谢谢、此致、

    Vamsi

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

    谢谢 Vamsi、

    由于某种原因,UserDefinedFuncions 文件未与项目关联。 非常感谢!

    Aditya  

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

    当然、Aditya、我要关闭这个帖子。

    谢谢、此致、
    Vamsi