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.

[参考译文] TMS320F28377S:XDC_Runtime_Startup_rtsDone ()!= true

Guru**** 2522770 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1065117/tms320f28377s-xdc_runtime_startup_rtsdone-true

器件型号:TMS320F28377S
Thread 中讨论的其他器件:SYSBIOS

这是程序终止的位置!

if (xdc_runtime_Startup_rtsDone ()!= true){
TI_SYSBIOS_BIOS_linedWithIncorrectBootLibrary();

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

    这是在您编写的应用程序中发生的、还是您是否也遇到了 SYS/BIOS 示例的此问题? 如果您单步执行代码、XDC_Runtime_Startup_rtsDone()中的哪个项目未完成?  ROV 是否显示任何错误?

    惠特尼

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

    如何进入该函数?

    "XDC_Runtime_Startup_rtsDone ()"

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

    您应该能够在函数中放置一个断点。 但是、您可能需要在反汇编中查找它以放置它。 如果无法按名称查找它、则可以在.map 文件中查找其地址。

    现在、我查看代码、我不确定 Startup_rtsDone 是否是要查看的地方。 函数仅执行以下操作:

    bool Startup_rtsDone (空)

       返回(module->rtsDoneFlag);

    最好在 Startup_startMods()中单步执行代码,因为我可以知道 rtsDoneFlag 是在哪里设置的。

    您能回答我之前帖子中的其他问题吗?

    惠特尼

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

    1.新空的 BIOS 工作正常。

    2.我自己的项目的操作异常,单步执行无法进入更多的内部位置,因此它返回到以下位置。

    bool Startup_rtsDone (空)

    返回(模块-& gt;rtsDoneFlag);

    3.对于我自己的项目,只要我删除由编译生成的 Project\Debug\lib 文件夹并在此位置创建一个新的 lib 文件夹,我就可以跳过步骤2中的函数,程序正常运行。

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

    Debug\configPkg\package\lib 或者您的项目是否正在生成 Debug\lib 文件夹? 此库文件夹中包含哪些文件? 当您删除并重建项目时、它是否会生成库的新版本? 在您再次遇到此问题之前、这些问题会有多长时间?

    如何配置 BIOS 库选择选项?

    惠特尼

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

    库文件夹已添加到我的项目中、其中包含我认为将使用的库文件

    我删除的文件的位置

    执行以下操作以重新编译、它将起作用。

    1.将 lib 重命名为 lib

    2.清除 Lib 文件夹的内容。

    如果您没有更改文件夹名称、或者您将其更改为其他内容、重新编译将生成新的库文件、BIOS 将仍然不起作用。

    库文件配置如下

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

    运行 BIOS_start()的结果如下

     

     

     

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

    我仍然感到困惑、为什么删除库会起作用。 debug/lib 只包含一些 make 文件--所使用的实际库根本不会改变,再次编译工程应该只替换它们。

    只需注意您的--library 设置,libc.a 等效于 rts2800_fpu32.lib,因此您不需要同时包含这两个设置。 libc.a 基本上只是一个索引库、可根据构建选项从 CG_TOOL_ROOT/lib 中选择适当的.lib。 实际上、我认为您根本不需要将这些${ProjName}/lib/文件添加到您的--library 选项中--它们可能会从您的项目文件夹中就包含在编译中。

    不过,我不会指望其中任何一个问题是造成这一问题的原因。 在构建项目时、您是否看到与这些库相关的任何警告?

    惠特尼

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

    非常感谢你的帮助。 这正是您所期望的。 我从项目中删除了{ProjName}/lib 文件夹、程序运行正常。 我想请您帮助确认我的运营是否存在这样的风险。 比如应用程序运行得更慢? 浮点运算时间是否会更长? 非常感谢!

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

    您已经在使用 FPU RTS 库、因此没有任何更改。 我不清楚定点库的用途是什么- DSP 库是什么? 我想、如果您想知道有多少函数受到影响、您可以在删除库之前查看项目生成的.map 文件、以查看这些库中实际使用的代码。

    通常、在同时具有 FPU32和 TMU 硬件的 F28377S 上、浮点运算将非常快。 您可以四处看看并找到有关该主题的一些讨论-就像 这里的主题一样

    惠特尼