工具与软件:
你好
我们有 fopen ()/ fprintf ()/ fclose ()- c7上的函数调用-运行良好,并将数据输出到 PC 上调试文件夹中的文件。
但是、我们无法使其在 A53内核上工作。 fopen()始终返回 NULL。
我们认为这可能是半主机未启用的问题、 您认为是什么?
如何 在 A53上获得 fopen()/ fprintf()功能?
提前感谢
居伊
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.
工具与软件:
你好
我们有 fopen ()/ fprintf ()/ fclose ()- c7上的函数调用-运行良好,并将数据输出到 PC 上调试文件夹中的文件。
但是、我们无法使其在 A53内核上工作。 fopen()始终返回 NULL。
我们认为这可能是半主机未启用的问题、 您认为是什么?
如何 在 A53上获得 fopen()/ fprintf()功能?
提前感谢
居伊
嗨、Guy、
[报价 userid="376611" url="~/support/processors-group/processors/f/processors-forum/1442337/am62a7-enabling-semihosting "]但是、我们不能让它在 A53内核上工作。 fopen()始终返回 NULL。 [报价]A53、Linux 或其他平台上运行的是什么操作系统?
您好!
是、
您能否说明您正在使用 MCU+SDK 中的哪个示例、或者它是自定义示例? => hello_world FreeRTOS gcc arch64
另请告诉我们您使用的是哪个版本的 MCU+SDK? => MCU SDK 10_00_00_14
您使用了哪种初始化方法? 是 SBL 还是 SPL =>进行比较 SBL 空(JTAG)
BTW、 fprintf 适用于 C7和 MCU R5、但在 A53上不起作用。
请建议、谢谢
居伊
嗨、Guy、
为了在通过 GCC 编译时启用半主机、您需要链接 libc.a 和 librdimon.a. 软件库。
要链接上述库、请添加 -lc 和-lrdimon 链接器命令的标志。 另请拆下 -nostartfiles 允许链接标准库的标志。
请参阅下图。

添加 --specs=rdimon.specs GCC 编译器中的标志调用以使用半托管版本的 SYSCalls。 请参阅下图。

完成上述更改后、添加以下函数调用 *。c 初始文本文件。
extern void initialise_monitor_handles(void);
也可以在进行任何系统调用之前调用上述函数。 请参阅下图。

请确保在调试器中启用半主机选项。 导航至 Tools -> Debugger -> Program/Memory Load Options。

重新编译程序并再次运行它。
请告知我们上述解决方案是否有效。
此致、
Tushar