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.

[参考译文] CCS/TMDSDSK6713:在DSK6713上执行程序时出现问题

Guru**** 2585825 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/602247/ccs-tmdsdsk6713-problem-executing-program-on-dsk6713

部件号:TMDSDSK6713

工具/软件:Code Composer Studio

晚上好。

我有一个TI的DSP板,型号 为TMS320.6713万 DSK。

我已在我的CCS v 5.5 上导入了一个在CCS v3中实施的旧程序。 我的编译器版本是7.4 .4。 在导入过程中,我启用了DSP/BIOS版本5。 在添加了对CSL和BSL库的引用之后,我设置 了PC中存在的路径。 我可以更正编译项目,但当我在调试模式下午餐时插入一个分阶段点时,我无法到达下一个分阶段点。 CCS似乎已暂停,执行光标将从代码窗口消失。

如果我减少堆和堆栈大小,我可以执行更多的代码行,但我无法到达末尾。  我注意到调用math.h函数时出现了问题。

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

    根据我的经验,迁移项目时出现的运行时错误通常是由于DSP/BIOS发行版之间的细微差异或CCS发行版之间的某些初始化(例如,通过不同的GEL文件)所导致的。

    另外,我不确定您以前使用的DSP/BIOS版本,但我怀疑您已经完成了以下帖子中提到的步骤:
    e2e.ti.com/.../102.5444万

    上述情况中的一个重要细节是,迁移到较新的DSP/BIOS需要在main()中明确调用CSL_Init()。 另一点是仔细验证堆和堆栈大小以防止重叠(DSP/BIOS 4.9 为您执行了一些内存检查,而不是DSP/BIOS 5.x)。

    如果您使用的是设备的内部内存,并且如果您能够通过调整堆和堆栈运行到代码中的某个点,请仔细检查内部C6713内存的配置方式: 如果我没有记错,您可以将其部分或全部设置为缓存-这是使用DSP/BIOS 4.9 自动完成的,但我不确定如何在DSP/BIOS 5.x中完成

    最后,我将参考下面的帖子,其中包含执行此迁移的一些信息和其他提示。
    e2e.ti.com/.../4.7475万

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

    我已更改我的程序。 我简化了所有任务,并简化为基本的调试说明。 随附的zip文件包含测试代码。 我认为这个问题包含在217 - 245行的指示中。

    可能存在一些未引用的库。


    我期待您的反馈, 非常感谢  您提出任何建议。

    e2e.ti.com/.../DSP_5F00_prova1_5F00_7.zip

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

    您好,

    感谢您发送测试案例;这是应用程序问题。 我可以看到sin()函数在整个代码执行过程中失败,通过增加堆栈解决了这一问题。

    我随附了该项目,并对其进行了一些修改,以适应您发送的代码。

    链接器CMD文件将大部分部分拆分为两个内存区域(IRAM和L2RAM),以帮助克服内存使用率增加的问题。 某些部分不能拆分(.stack,.sysmem,.cinit和.bss),但您仍然可以让链接程序选择它们的分配位置。 (参考: 此处)

    我使用的内存区域(L2RAM)有时被用作外部SDRAM的高速缓存,因此调试器不允许写入-要允许写入,只需转到下面的菜单并选择ClearMemoryMap。  

    如果您计划将来使用高速缓存,则在所有内存部分上使用EMIFCE0替换L2RAM。  

    我还会在.stack内存部分填入一个已知值,以允许监视堆栈使用情况(请参见下图)。 这有增加.out文件大小的缺点,但对运行时没有影响,可以在完成调试时关闭。  

    希望这能有所帮助,

    拉斐尔

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

    我忘记了附加更新的项目。

    e2e.ti.com/.../DSP_5F00_Prova2.zip