工具/软件:Code Composer Studio
您好!
我正在从 C6727上的外部闪存引导。 在外部闪存中、我有一个基本的 DSP/BIOS 程序、该程序启动了一项任务、使我们的开发板上的 LED 闪烁。 这可以正常工作、但当通过 CCS3.3连接时、我似乎不会获得任何(可靠) STDOUT 输出。
我正在运行一个 C++程序、并且包含了 头文件。 我还使用了 stdout.h 头文件进行了尝试。 我还将程序的堆栈大小和堆大小增加了几个大小、以确保在 printf 可能无提示失败的情况下具有大量的内存。
奇怪的是、当我在 printf 的调用中放置一个断点时、它们只是被跳过、处理器永远不会达到断点。 这是否表示缺少内容?
我是否需要加载符号才能正确地将数据发送到 CCS3.3中打印的 STDOUT? 否则、调试器如何知道_CIOBUF_的位置?
另外、还有一个额外的问题:我实际上在闪存中存储了两个程序。 当第一个程序中的一个变量被置位时、它将一个辅助程序载入内部 RAM (请注意、第一个程序被完全存储在我们的外部 SDRAM 中、而不是 EMIF 总线)。 即使在加载第二个程序的符号之后、我也无法从第二个程序中打印出来。 调试器是否可以找到新的_CIOBUF_并从第二个程序中正确获取打印内容? 如果是、我需要做一些提示还是需要更改 CCS 设置?
我知道这是很多信息、但我想知道在从外部闪存引导时、让 printf 可靠运行是否存在任何秘密。
谢谢、
Vincent Galbo