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/XTCIEVMK2LX:main()在调试时不运行

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

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/590317/ccs-xtcievmk2lx-main-doesn-t-run-when-debugging

部件号:XTCIEVMK2LX

工具/软件:Code Composer Studio

您好,

我编写了自己的代码,编译时没有错误。 现在,我正在尝试在EVM上调试它。 当我尝试运行'hello world'代码时,它是有效的,但现在它只是跳过运行main(),这意味着代码在第一次被暂停,然后在我单击'reeume'按钮后进入运行而没有任何输出。 (有System_printf()行)

其他示例代码运行良好。 我的代码有什么问题?

非常感谢!

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

    当我尝试运行'hello world'代码时,它是有效的,但现在它只是跳过运行main(),这意味着代码在第一次被暂停,然后在我单击'remain'按钮后进入运行而没有任何输出。 (有System_printf()行)

    在Cortex-A15或C66内核上运行时是否会出现问题?

    如果在Cortex-A15内核上重新加载程序,则您需要在重新加载下一个程序之前执行系统重置-请参阅 调试Cortex A15。 原因是SYS/BIOS启动代码不能使Cortex-A15上的高速缓存失效(请参见 Why does the Cache_inv() API flush the cache on Cortex-A15?)

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

    哦,我很抱歉,我没有提到。 我在C66内核上执行了此操作,结果是相同的,即使我在重置EVM后第一次运行代码也是如此。

    非常感谢! :)

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

    我只是通过从示例中复制.cfg文件的全部内容并将其粘贴到我的.cfg文件中而不知道代码对应用程序的实际作用来解决问题。

    现在我可以看到System_printf()函数的输出,但有以下错误:

    TI.SysBIOS.family.c64p.Hwi:行194:e_alreadyDefended: Hwi已定义:INTR# 11

    如何解决此问题?

    非常感谢!

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

    即使是新项目模板,原始问题也会持续发生,这是最小的。 它会发生在包括Hello World示例在内的所有项目中。

    有时效果很好,有时会出现问题。 我尝试重置,重新启动,关闭/打开电源,关闭/重新打开CCS等

    为什么会发生这种情况? 什么是永久解决办法? 我会看看明天是否会消失。 由于此问题,我无法继续。 :(

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

    为什么会发生这种情况? 什么是永久解决方案?[/QUOT]根据提供的信息,我不确定。

    但您可以尝试:

    1)将 XTCIEVMK2LX设置为 “No Boot/JTAG DSP Little Endian Boot”模式

    2)将目标配置文件中C66内核的初始化脚本设置为..\..\emulation \boards\tcievC66\GEL\tcievC663.gel 2 l 2 l

    以上是通过停止从闪存启动并使用Gel脚本配置设备来尝试将主板置于已知状态。

    如果这些步骤不起作用,建议您在 Keystone多核论坛(C66,66A,AM5,TCI)上咨询设备专家

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

    感谢您的建议。 实际上,我已经正确地做了。 不管怎样,我知道昨天发生了什么。 这完全是因为我对如何使用TI的EVM进行编程缺乏了解。 :)

    最初的问题是我在控制台视图中看不到输出字符串,这是因为我没有向.cfg文件中添加任何系统代理设置。

    另一个问题是,我不能正确运行其他程序,包括Hello World示例和最小模板,因为  在以前启动的程序中没有调用BIOS_EXIT(0)。 一个示例在任务函数中甚至有无限的while循环。 因此,它们没有正确终止,使核心处于“挂起”状态。

    非常感谢! :)