文章 ID: 000085005 内容类型: 故障排除 上次审核日期: 2021 年 08 月 27 日

为什么在尝试与 Nios II一起使用alt_getchar() 时出现错误"未定义的参考"以"getc"?

环境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明

如果选中"启用小型 C 库"选项且未勾选"启用轻量级设备驱动程序 API"选项,便可看到此问题。

"启用小型 C 库"选项的效果是从Nios II板级支持包 (BSP) 中删除许多功能,包括 STɤ例程。 这些功能包括常规 getchar(),这调用 getc()。

"启用轻量级设备驱动程序 API"优化了功能alt_getchar()、alt_putstr()、alt_printf() 和 alt_putchar()。 如果没有选中此选项,这些功能会直接调用其 C 库等效的 getchar()、puttr()、printf() 和 putchar()。

因此,通过勾选"启用小型 C 库"选中,"启用轻量级设备驱动程序 API"未勾选,alt_getchar() 被映射到库中不再的 getchar() 功能。

为了成功使用alt_getchar功能,用户需要取消勾选"Enable Small C 库"或在 BSP 设置中启用"启用轻量级设备驱动程序 API"。

解决方法

如果选中"启用小型 C 库"选项且未勾选"启用轻量级设备驱动程序 API"选项,便可看到此问题。

"启用小型 C 库"选项的效果是从Nios II板支持包 (BSP) 中删除许多功能,包括 STINS 例程。 这些功能包括常规 getchar(),这调用 getc()。

"启用轻量级设备驱动程序 API"优化了功能alt_getchar()、alt_putstr()、alt_printf() 和 alt_putchar()。 如果没有选中此选项,这些功能会直接调用其 C 库等效的 getchar()、puttr()、printf() 和 putchar()。

因此,通过勾选"启用小型 C 库"选中,"启用轻量级设备驱动程序 API"未勾选,alt_getchar() 被映射到库中不再的 getchar() 功能。

为了成功使用alt_getchar功能,用户需要取消勾选"Enable Small C 库"或在 BSP 设置中启用"启用轻量级设备驱动程序 API"。

相关产品

本文适用于 1 产品

英特尔® 可编程设备

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。