Board logo

标题: [求助]Nios II 有没有类似MSDN这样的文档? [打印本页]

作者: zupub    时间: 2007-9-1 10:34     标题: [求助]Nios II 有没有类似MSDN这样的文档?


Nios II 有没有函数操作的详细介绍?
就像IOWR(BASE, REGNUM, DATA),这个"DATA"到底是什么类型的数啊?
初学Nios,望前辈解答

作者: caopengly    时间: 2007-9-1 12:52

nios没有msdn(这是微软自己花大力气写的),你可以在论坛上搜索到nios的基本教程。

如果你需要知道iowr这类函数的使用,可以在nios中的代码中找到相应的说明。

函数原型:IOWR(BASE, REGNUM, DATA)
输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据
函数说明:往偏移量为REGNUM寄存器中写入数据。寄存器的值在地址总线的范围之内。
返回值:  -


作者: zupub    时间: 2007-9-1 19:55


谢谢回答
那么IOWR(BASE, REGNUM, DATA)中这个"DATA"到底是什么类型呢?
是不是这样:如果操作端口是个8位的,那么DATA可以是个char
如果操作端口是个1位的,那么DATA只能是1和0?
我通过实验发现如果操作端口是1位的话,无论DATA的值是多少,结果只取决于这个数二进制的最低位。
现在担心的是如果数据超出操作端口容许的最大数值,那么这个函数会不会把数据写到其他我们不知道的内存去?那样的话就麻烦了,还好现在没有发现运行错误
作者: caopengly    时间: 2007-9-1 20:06

“如果操作端口是个8位的,那么DATA可以是个char
如果操作端口是个1位的,那么DATA只能是1和0?”


IO操作函数
函数原型:IORD(BASE, REGNUM) 
输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量
函数说明:从基地址为BASE的设备中读取寄存器中偏移量为REGNUM的单元里面的值。寄存器的值在地址总线的范围之内。
返回值:  -


函数原型:IOWR(BASE, REGNUM, DATA)
输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据
函数说明:往偏移量为REGNUM寄存器中写入数据。寄存器的值在地址总线的范围之内。
返回值:  -


函数原型:IORD_32DIRECT(BASE, OFFSET)
输入参数:BASE为寄存器的基地址,OFFSET为寄存器的的偏移量
函数说明:从地址位置为BASE+OFFSET的寄存器中直接读取32Bit的数据
返回值:  -


函数原型:IORD_16DIRECT(BASE, OFFSET) 
输入参数:BASE为寄存器的基地址,OFFSET为寄存器的的偏移量
函数说明:从地址位置为BASE+OFFSET的寄存器中直接读取16Bit的数据
返回值:  -


函数原型:IORD_8DIRECT(BASE, OFFSET) 
输入参数:BASE为寄存器的基地址,OFFSET为寄存器的的偏移量
函数说明:从地址位置为BASE+OFFSET的寄存器中直接读取8Bit的数据
返回值:  -



函数原型:IOWR_32DIRECT(BASE, OFFSET, DATA)
输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据
函数说明:往地址位置为BASE+OFFSET的寄存器中直接写入32Bit的数据
返回值: -


函数原型:IOWR_16DIRECT(BASE, OFFSET, DATA)
输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据
函数说明:往地址位置为BASE+OFFSET的寄存器中直接写入16Bit的数据
返回值: -


函数原型:IOWR_8DIRECT(BASE, OFFSET, DATA)
输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据
函数说明:往地址位置为BASE+OFFSET的寄存器中直接写入8Bit的数据
返回值: -

详见

nios常用函数,论坛上搜得到


作者: zupub    时间: 2007-9-3 22:14

谢谢版主贴了这么多,这些我看过了,不过好像没有正面回答这个问题
再次谢谢你的热心帮助
期待前辈指教





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0