我正在C28x中从RAM执行一个程序。 为了调试它,我使用了fprintf函数,该函数现在可以正常工作(在考虑了中所述的内容之后)
)。 当我启动时,将程序连接并加载到目标上,它会执行预期的操作。 应用CPU重置以重新运行程序时出现问题。 由于C28x必须从RAM引导,我在闪存中有一个程序用于M3引导,因此我必须连接并在那里应用CPU重置。 这很好,我已检查C28x是否正确转到主功能。 但是,当它进入fprintf函数时,这是我第一次启动目标以来的第二次,因为这是在重置之后,控制台中会出现以下消息:
[C28xx_0]写错误:CIO消息中的文件ID (3)无效!
我不理解为什么fprintf在重置后停止工作。 我曾经尝试过使用“假的想法”,因为我在任何时候都应用了复位,所以缓冲区可能有问题,但没有帮助。 我还指定了. cio部分必须在cmd文件中分配的位置,因为当我不这样做时,它被放置在为引导ROM堆栈保留的RAM M0中的一个空间中。 这也没有起到任何作用。
我知道这不是应用程序开发的真正问题,因为我可以终止调试器并重新启动它(第一次它将正常工作),但我想知道为什么这是偶然的。 这是否与我正在RAM内存中加载程序有关? 我不确定我是否理解在调试视图工具栏中单击CPU重置后发生的情况。
我正在使用Code Composer Studio v 7.4。
提前感谢。