Nios SDK有自己的printf例程实现,不包括对浮点类型的支持。由于大多数嵌入式应用程序不使用浮点数,因此删除了标准GNU printf中可用的浮点支持。处理浮点类型涉及增加的开销。使用标准printf例程将增加S-Record文件( .srec )大小(通常为64 KB)。
如果需要浮点支持,可以通过执行以下步骤使用标准GNU printf而不是Nios SDK printf 。
Nios 2.0
对于要为printf提供浮点支持的每个Nios CPU,请按照下列步骤操作:
- 打开的Nios CPU的MegaWizard®插件管理器(双击在SOPC Builder中的CPU)。
- 确保选中“ 启用高级配置控件” 。
- 选择“ 软件配置”选项卡。
- 取消选中使用小printf 。
由于浮点支持是在软件中实现的,因此您无需为Nios嵌入式处理器重新生成HDL。如果您之前已经生成了系统,只要这是您正在进行的唯一更改,则可以取消选中SOPC Builder的“ 系统生成”选项卡中的HDL框。
SOPC Builder始终为每个CPU生成一个SDK文件夹。在SDK文件夹中编译C代码时,将根据SOPC Builder中针对该特定CPU的Use small printf设置链接相应版本的printf例程(浮点或非浮点)。
Nios 1. x
- 编辑inc或lib目录中的makefile。
- 使用Nios 32设计时省略/NR_Printf.o \ line。
- 使用Nios 16设计时省略/NR_Printf.o \ line。
- 通过在inc目录中执行make -s all来重新映射库。
- 重建使用printf的代码。
没有回复内容