ZZL520 发表于 2010-5-6 14:39:57

(征集)为NIOS初学者 提供帮助!从点亮LED流水灯开始!

学习NIOS II也有一段时间了!从最开始的什么都不知道,摸爬滚打!到现在对NIOS有一点点了解!   深知其中没人带的痛苦!希望大家能一起来帮助在初学NIOS II阶段遇到的问题   一起解决!从点亮第一个LED灯开始,到做出复杂的设计!    坛里的高手一起行动起来吧!!!

1181zjf 发表于 2010-5-6 14:42:27

顶,建议搞个diy开源项目,简单点的。

ZZL520 发表于 2010-5-6 14:48:15

在此,我抛砖引玉!先发一个最简单的IO口操作工程
IO口有四个寄存器
第一个是数据寄存器
第二个是方向寄存器         用于设置IO口的方向   为1为输出,为0为输入
第三个是中断屏蔽寄存器   用于设置IO口的中断标志位,为1时候为开启这个IO口的中断,为0为禁止中断
                           例如:一个8位IO口   设置中断屏蔽位为0X0F;   则IO口的高四位为输入,低四位为输出
第四个是中断捕获寄存器   用于捕获中断,每一次外部中断到来,就会在捕获位置一,在中断中必须清楚捕获位


#include<stdio.h>
#include"system.h"
#include"altera_avalon_pio_regs.h"//IO口设备的头文件

//IO口取地址,这样方便操作
#define led *(volatile unsigned char *) P1_BASE

#define uchar unsigned char
#define uintunsigned int

int main(void)
{
    IOWR(P1_BASE,1,0xff);   //设置IO口为输出IO口
    led=0xff;                    //IO口输出数据为0XFF

    return 0;
}

ZZL520 发表于 2010-5-6 14:50:38

在此补充一点IOWR(1,2,3);的用法
1:代表   的是IO口的地址
2:代表的是IO口寄存器地址
3:代表的是配置的数据值

读取函数用IORD(1,2);
1:代表IO口地址
2:代表IO口的寄存器地址

ZZL520 发表于 2010-5-6 14:53:39

再补充一点   现在的NIOS 9.0里面IO口的映像里面 有6个寄存器   但是在SOPC里面好象没有涉及到 第 5,6个寄存器的设置
至少我没看见(不知道是不是这样,希望高手解答),但是一般用前4个就可以了!
第5个 第6个寄存器从名字上看类似ARMIO口的置高置低寄存器!   我没用过   只是猜测!!!

ZZL520 发表于 2010-5-6 19:40:29

大家你一言,我一句的顶起来呀!!!!!!!!!!!!!!

avic 发表于 2010-5-6 20:10:47

可以看看我的博客,上面讲的很详细,kingst.cnblogs.com,论坛上也有pdf,《NIOSII 那些事儿》,呵呵

ZZL520 发表于 2010-5-6 20:39:38

我看了!确实做得比较好!那我就不用再写了!确实你上面东西很全

ZZL520 发表于 2010-5-6 20:42:39

还有 我想问一下,NIOS II最高时钟能跑多少M呢!我一直都没得到明确的资料介绍!!

avic 发表于 2010-5-6 20:50:52

回复【8楼】ZZL520
-----------------------------------------------------------------------
受SDRAM限制,有人最高跑到125MHz,这事我所知道的,我自己跑过100MHz

tear086 发表于 2010-5-6 20:56:27

好!

hanjiang 发表于 2010-5-7 00:17:07

受SDRAM限制

wolfdong7 发表于 2010-5-7 07:22:28

此贴会火,果断mark!

ZZL520 发表于 2010-5-7 09:04:45

有建议的朋友都可以在这里留下你们的学习笔记呀!!!!!

sanzangge 发表于 2010-5-7 22:33:21

mark

heibaogame 发表于 2010-10-16 19:37:10

加入

evefantasy 发表于 2010-10-16 21:14:44

加入    有些还是少许的不明白

zxcvb110 发表于 2010-10-16 21:27:57

在这里好好学习了!!

2006lc 发表于 2011-2-24 22:55:13

谢谢分享经验

astute11 发表于 2011-3-22 21:20:14

mark

kunpeng032 发表于 2011-3-25 17:42:08

mark

zbjzxc 发表于 2011-3-25 17:57:11

记号

jack_yu 发表于 2011-3-25 18:24:54

菜鸟期待中。谢谢!

taogashi 发表于 2011-3-27 21:17:11

我配置了一个SDRAM,NIOS IDE里面run as hardware的时候提示以下错误
Verifying 01000000 ( 0%)
Verify failed between address 0x1000000 and 0x1005107
Leaving target processor paused

lyxSOPC 发表于 2011-4-3 11:33:18

加入,现在我也学习了一点,大家有没有做PCI的。交流交流

wzf105 发表于 2011-5-27 20:35:28

我这也有一点资料,是比较初级的niosII c的资料,希望有用

wzf105 发表于 2011-5-27 20:37:43

点击此处下载 ourdev_643590MFTC8A.doc(文件大小:74K) (原文件名:nios2_c语言编程.doc)

yunduanmanbu06 发表于 2011-12-6 17:48:32

ai

dong5103 发表于 2011-12-6 20:36:43

我也来分享下经验:
我用的是altera--DE2的板子,在自学nios2的时候,出现以下的问题:
   第一次,出现的编译的时候超出空间,出现什么memory怎么样的,还要多少字节。这个说明在配置memory的时候,空间给的太小了,需要给点空间。
第二次,是配置这个的时候system libary中promgram memory等下面四个选项的时候,要注意了是,这个配置实际配置你的系统的实际的要运行的空间,比如你的堆栈要运行到哪里,你的程序在那里。而你的在下载的时候,一般情况下是下载到flash中的。前者是你的程序运行中的空间,或者是你的程序要保存在到哪里,才能保证断电的时候程序不会消失。
第三次,是那个DE2本身子带的SDRAM中一定注意要实例化的时候配置那个CLK引脚,这个在那个SOPC builder的时候,我一直没有注意,让我郁闷了,好几天,SDRAM不工作的问题。可能SDRAM在SOPC builder的时候,我没有找到。但是在这里说出了,提醒大家注意下,那个CLK引脚是SDRAM组件中是没有配置的,实例化的时候,不要把它忘啦~~

steady 发表于 2011-12-8 20:05:01

学习,先记号

loces 发表于 2011-12-8 23:47:58

nios只要配置好了,使用高级外设确实简单不少。
可惜性能一般。如果对速度优点要求,有可能就不够用了

guoyinwhu 发表于 2013-5-20 10:40:15

学习Nios真的好痛苦,为什么FPGA亚洲创新大赛都是用Nios呢

justin_n 发表于 2013-5-20 12:57:11

guoyinwhu 发表于 2013-5-20 10:40 static/image/common/back.gif
学习Nios真的好痛苦,为什么FPGA亚洲创新大赛都是用Nios呢

主要是软件编译环境IDE不行

深海烟花 发表于 2013-5-20 16:10:26

mark一下
页: [1]
查看完整版本: (征集)为NIOS初学者 提供帮助!从点亮LED流水灯开始!