部件号:XTCIEVMK2LX
工具/软件:Code Composer Studio
您好,
我编写了自己的代码,编译时没有错误。 现在,我正在尝试在EVM上调试它。 当我尝试运行'hello world'代码时,它是有效的,但现在它只是跳过运行main(),这意味着代码在第一次被暂停,然后在我单击'reeume'按钮后进入运行而没有任何输出。 (有System_printf()行)
其他示例代码运行良好。 我的代码有什么问题?
非常感谢!
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.
部件号:XTCIEVMK2LX
工具/软件:Code Composer Studio
您好,
我编写了自己的代码,编译时没有错误。 现在,我正在尝试在EVM上调试它。 当我尝试运行'hello world'代码时,它是有效的,但现在它只是跳过运行main(),这意味着代码在第一次被暂停,然后在我单击'reeume'按钮后进入运行而没有任何输出。 (有System_printf()行)
其他示例代码运行良好。 我的代码有什么问题?
非常感谢!
在Cortex-A15或C66内核上运行时是否会出现问题?当我尝试运行'hello world'代码时,它是有效的,但现在它只是跳过运行main(),这意味着代码在第一次被暂停,然后在我单击'remain'按钮后进入运行而没有任何输出。 (有System_printf()行)
如果在Cortex-A15内核上重新加载程序,则您需要在重新加载下一个程序之前执行系统重置-请参阅 调试Cortex A15。 原因是SYS/BIOS启动代码不能使Cortex-A15上的高速缓存失效(请参见 Why does the Cache_inv() API flush the cache on Cortex-A15?)
为什么会发生这种情况? 什么是永久解决方案?[/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循环。 因此,它们没有正确终止,使核心处于“挂起”状态。
非常感谢! :)