iam目前正在使用NIOS II和Quartus II v12.0
由于Nios II使用C语言,因此可以打开文件,但命令fopen(“filename”,“readmode”);是不是可以使用,因为它不在Nios的stdio.h上,所以我的疑问是,我如何在Nios中打开文件?我需要使用新库吗?我是否必须将我的代码块stdio.h更改为我的Nios?
谢谢你。
答案 0 :(得分:1)
我刚看了Nios II Software Developers Handbook,看到它使用了Newlib C库,而开发人员手册指的是fopen(),所以我只能假设你是不正确的。 Newlib是开源的,所以你可以自己调查。
即便如此,Newlib库在任何情况下都不实现文件系统 - stdio不是文件系统;相反,它为任何流I / O设备提供了标准接口。文件系统本身通常由操作系统或第三方库提供。
即使您有文件系统,在任何情况下,仍然必须通过Newlib syscalls stubs提供它与stdio之间的低级接口。
NiosII仅定义处理器架构,任何文件系统硬件都是完全专有的,因此无论如何都不可能提供开箱即用的文件系统支持 - 它必须适应您的硬件。
您打算在什么类型的设备上创建文件系统?您可以使用第三方库,例如EFSL或ELM FatFs。您可以单独使用它们,也可以通过实现适当的系统调用将它们集成到stdio中。
答案 1 :(得分:1)
我使用过DE2-115 DVD的Demonstration项目,得到了一个FAT库,现在我可以打开文件了。