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

Nios嵌入式处理器软件开发套件 (SDK) 中的 printf 例程是否支持浮点数据类型?

环境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明

Nios SDK 自行实施 printf 例程,不包含对浮点类型的支持。由于大多数嵌入式应用不使用浮点数,标准 GNU printf 中可用的浮点支持已被移除。处理浮点类型时涉及的开销增加了。使用标准 printf 例程将会增大 S-Record 文件(.srec) 的大小(通常为 64 Kbytes)。

如果需要浮点支持,可以执行以下步骤来使用标准 GNU printf而不是Nios SDK printf。

Nios 2.0

对于想要为 printf提供浮点支持的每个Nios CPU, 执行以下步骤 :

  1. 打开Nios CPU MegaWibbcd® 插件整数(双击 SOPC Builder 中的 CPU)。
  2. 确保选中 启用高级配置控制
  3. 选择 软件配置 选项卡。
  4. 取消勾选 使用小型 printf

由于在软件中实施了浮点支持,您无需为Nios嵌入式处理器重新生成 HDL。如果您先前生成了系统,只要这是您进行的唯一更改,您可以在 SOPC Builder 的 系统生成 选项卡中取消选中 HDL 框。

SOPC Builder 始终为每个 CPU 生成一个 SDK 文件夹。在 SDK 文件夹中编译 C 代码时,将根据针对特定 CPU 的 SOPC Builder 中使用小型打印机设置来链接相应版本的printf例程(浮点或非浮点)。

Nios 1.x

  1. 编辑 makefile 中的 公司自由 目录。
    1. 使用 32 个设计Nios时,省略 /NR_Printf.o \ 行。
    2. 使用 16 个设计Nios时,省略 /NR_Printf.o \ 行。
  2. 公司目录中执行make-s all,重新映射库。
  3. 重建使用 printf的代码 。

相关产品

本文适用于 1 产品

英特尔® 可编程设备

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