Nios™嵌入式处理器软件开发工具包(SDK)中的printf例程是否支持浮点数据类型?-Altera-Intel社区-FPGA CPLD-ChipDebug

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

Nios SDK有自己的printf例程实现,不包括对浮点类型的支持。由于大多数嵌入式应用程序不使用浮点数,因此删除了标准GNU printf中可用的浮点支持。处理浮点类型涉及增加的开销。使用标准printf例程将增加S-Record文件( .srec )大小(通常为64 KB)。

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

Nios 2.0

对于要为printf提供浮点支持的每个Nios CPU,请按照下列步骤操作:

  1. 打开的Nios CPU的MegaWizard®插件管理器(双击在SOPC Builder中的CPU)。
  2. 确保选中“ 启用高级配置控件”
  3. 选择“ 软件配置”选项卡。
  4. 取消选中使用小printf

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

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

Nios 1. x

  1. 编辑inclib目录中的makefile。
    1. 使用Nios 32设计时省略/NR_Printf.o \ line。
    2. 使用Nios 16设计时省略/NR_Printf.o \ line。
  2. 通过在inc目录中执行make -s all来重新映射库。
  3. 重建使用printf的代码。
请登录后发表评论

    没有回复内容