MyFPGA Forum

标题: NIOS II软件与硬件交互的流程是怎么样的? [打印本页]

作者: yqzhang    时间: 2010-4-15 10:14
标题: NIOS II软件与硬件交互的流程是怎么样的?
现有如下实验:
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灯的亮灭.

请大虾看看问题出在哪里?谢谢啦
作者: yqzhang    时间: 2010-4-15 11:36
注:switch,led的IPCore是我根据SOPC生成的switch,led改成自己的IP Core.代码不变,名称换了而已




欢迎光临 MyFPGA Forum (http://www.myfpga.org/discuz/) Powered by Discuz! X3