Board logo

标题: (原创)怎样在NIOSII中操作PIO? [打印本页]

作者: kzw    时间: 2004-12-9 10:16

不错
作者: eda001@mail.chi    时间: 2004-12-10 08:26

请问:nr_pio_showhex函数如和使用
要加入那个包含文件!!!
作者: bluemelodyer    时间: 2004-12-10 09:24

include "excalibur.h"
作者: eda001@mail.chi    时间: 2004-12-10 17:20

楼上的,我用的是nios 11
提示找不到这个文件!
请多多指教拉!
作者: gardensu    时间: 2004-12-22 12:56     标题: (原创)怎样在NIOSII中操作PIO?

怎样在NIOSII中操作PIO?(原创) 运用NIOSII_IDE向导,在niosII_cyclone_1c20\small\下新建一个hello_led工程。 其中hello_led.c是这样写IO口的: IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, led); 首先在altera_avalon_pio_regs.h找到定义 #include #define IORD_ALTERA_AVALON_PIO_DATA(base) IORD(base, 0) #define IOWR_ALTERA_AVALON_PIO_DATA(base, data) IOWR(base, 0, data) 因此在NIOSII中可以调用#include 库函数IORD/IOWR来操作PIO。 (详情可参见D:\altera\kits\nios2\documents\ n2cpu_nii51007.pdf 文档page:7, Table 7–2: 和n2sw_nii5v2.pdf.pdf 文档page:111, Table 7–1:) 接着在small\software\hello_led_0_syslib\Debug\system_description下的system.h 中,有以下内容: #define LED_PIO_TYPE "altera_avalon_pio" #define LED_PIO_BASE 0x00004000 其中LED_PIO_BASE(IO寄存器地址?)为0x00004000同SopcBuilder中设置一致! (其实在SopcBuilder中有关NiosII的配置,就是通过system.h来传送给IDE的!) 最后用IOWR(0x00004000, 0, led);替代IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, led); 编译,下载到开发板上,运行成功! 初级知识,就当是抛砖引玉,这只是库函数级,应该还有汇编级代码,请各位大虾继续! GardenSu 2004-12-2

[此贴子已经被作者于2004-12-2 12:29:08编辑过]


作者: Simon.Embed    时间: 2004-12-22 12:56

要用:include “excalibur.h" 必须在SOPC中生成SDK开发包
作者: littlestar    时间: 2005-3-26 16:21

写的很好,对初学者十分有用。我看了十分受益,很感谢!!
作者: hxd214hxd    时间: 2005-6-22 13:09

我用的是nios 2,在在SOPC中也生成SDK开发包,但在NIOS IDE里用C语言编程序时,编译提示错误“excalibur.h" 还是找不着,就只加这个头文件其他指令都不写,都编译不过去,显示找不找这个头文件。望告知,不甚感激。
作者: Stoneway    时间: 2005-7-9 16:55


作者: cipher    时间: 2005-7-10 22:54

好文啊
IOWR(Base,0,data)这个函数是如何工作的?
大家在一起查一查吧
作者: mage1982mage198    时间: 2005-7-11 09:55

你不用TCL文档?

作者: huweiroc    时间: 2005-7-12 16:45

有用。顶一个!




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