Thread 中讨论的其他器件:SYSBIOS
这是程序终止的位置!
if (xdc_runtime_Startup_rtsDone ()!= true){
TI_SYSBIOS_BIOS_linedWithIncorrectBootLibrary();
}
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.
这是程序终止的位置!
if (xdc_runtime_Startup_rtsDone ()!= true){
TI_SYSBIOS_BIOS_linedWithIncorrectBootLibrary();
}
您应该能够在函数中放置一个断点。 但是、您可能需要在反汇编中查找它以放置它。 如果无法按名称查找它、则可以在.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/lib 只包含一些 make 文件--所使用的实际库根本不会改变,再次编译工程应该只替换它们。
只需注意您的--library 设置,libc.a 等效于 rts2800_fpu32.lib,因此您不需要同时包含这两个设置。 libc.a 基本上只是一个索引库、可根据构建选项从 CG_TOOL_ROOT/lib 中选择适当的.lib。 实际上、我认为您根本不需要将这些${ProjName}/lib/文件添加到您的--library 选项中--它们可能会从您的项目文件夹中就包含在编译中。
不过,我不会指望其中任何一个问题是造成这一问题的原因。 在构建项目时、您是否看到与这些库相关的任何警告?
惠特尼
您已经在使用 FPU RTS 库、因此没有任何更改。 我不清楚定点库的用途是什么- DSP 库是什么? 我想、如果您想知道有多少函数受到影响、您可以在删除库之前查看项目生成的.map 文件、以查看这些库中实际使用的代码。
通常、在同时具有 FPU32和 TMU 硬件的 F28377S 上、浮点运算将非常快。 您可以四处看看并找到有关该主题的一些讨论-就像 这里的主题一样。
惠特尼