MyFPGA Forum

 找回密码
 注册
搜索
查看: 3128|回复: 1
打印 上一主题 下一主题

NIOS II软件与硬件交互的流程是怎么样的?

[复制链接]
跳转到指定楼层
1#
发表于 2010-4-15 10:14:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现有如下实验:
0.功能:用Switch来控制相应的LED灯的亮灭.
1.SOPC中建立pio_switch(8 bit),pio_led(8 bit), Memory为onchipmemory.
2.软件:  alt_u8 uSW;
        while(1){
           usleep(1000);
           uSW = IORD_ALTERA_AVALON_PIO_DATA(PIO_SWITCH_BASE);
           IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE,uSW);      
        }

在上述实验中,配置好硬件,运行软件,成功实现Switch控制LED灯.
我们对其运行过程的思考为:
1.switch和led的状态均存在他们的寄存器中. 同时两个外设又都挂在Avalon总线上
2.软件运行在Onchipmemory中.软件先读取switch寄存器的值,并保存在onchipmemory中,再通过Avalon总线把onchipmemory中相应的值写到led寄存器中.

再次实验:
1.直接运行硬件,不运行软件,发现依然可以通过switch控制led灯的亮灭.

上述实验让我们产生了困惑. 没有通过中间软件的关联,switch与led应该不会关联到一起哈,也就是switch不应该能控制led灯的亮灭.

请大虾看看问题出在哪里?谢谢啦
2#
 楼主| 发表于 2010-4-15 11:36:09 | 只看该作者
注:switch,led的IPCore是我根据SOPC生成的switch,led改成自己的IP Core.代码不变,名称换了而已
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-5-3 10:30 , Processed in 0.035866 second(s), 15 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表