Nios SDK 自行实施 printf 例程,不包含对浮点类型的支持。由于大多数嵌入式应用不使用浮点数,标准 GNU printf 中可用的浮点支持已被移除。处理浮点类型时涉及的开销增加了。使用标准 printf 例程将会增大 S-Record 文件(.srec) 的大小(通常为 64 Kbytes)。
如果需要浮点支持,可以执行以下步骤来使用标准 GNU printf而不是Nios SDK printf。
Nios 2.0
对于想要为 printf提供浮点支持的每个Nios CPU, 执行以下步骤 :
- 打开Nios CPU MegaWibbcd® 插件整数(双击 SOPC Builder 中的 CPU)。
- 确保选中 启用高级配置控制 。
- 选择 软件配置 选项卡。
- 取消勾选 使用小型 printf。
由于在软件中实施了浮点支持,您无需为Nios嵌入式处理器重新生成 HDL。如果您先前生成了系统,只要这是您进行的唯一更改,您可以在 SOPC Builder 的 系统生成 选项卡中取消选中 HDL 框。
SOPC Builder 始终为每个 CPU 生成一个 SDK 文件夹。在 SDK 文件夹中编译 C 代码时,将根据针对特定 CPU 的 SOPC Builder 中使用小型打印机设置来链接相应版本的printf例程(浮点或非浮点)。
Nios 1.x
- 编辑 makefile 中的 公司 或 自由 目录。
- 使用 32 个设计Nios时,省略 /NR_Printf.o \ 行。
- 使用 16 个设计Nios时,省略 /NR_Printf.o \ 行。
- 在公司目录中执行make-s all,重新映射库。
- 重建使用 printf的代码 。