实验一 基于NIOSII的LED控制系统

 

SOPC的配置: NIOSII/E的CPU、RAM、ROM、PIO。其中将PIO设为输出端口,并更名为:LED。

 NIOSII时的配置:选择NIOSII  IDE系统自带的hello led程序进行调试:

源代码如下:

#i nclude "system.h"
#i nclude "altera_avalon_pio_regs.h"
#i nclude "alt_types.h"

int main (void) __attribute__ ((weak, alias ("alt_main")));

int alt_main (void)
{
   alt_u8 led = 0x2;
   alt_u8 dir = 0;
   volatile int i;
   while (1)
   { 
      if (led & 0x81)
       {
          dir = (dir ^ 0x1);
               }

      if (dir)
       {
          led = led >> 1;
       }
      else
       {
          led = led << 1;
       }
    IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, led);

     i = 0;
    while (i<100000)
      i++;
  }

  return 0;
}

其中IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, led);语句中的LED_BASE,用刚才在SOPC系统里所给定的IO口名称LED。

然后对系统进行编译,编译完成后,利用Quartus 将SOPC系统编译完生成的POF文件通过AS模式下载到EPCS1中,然后将下载线跳到JTAG模式,在NIOSII IDE里选择Run----Run As----1 Nios II Hardware进行在硬件上调试。这时在信息窗口中出现以下内容:

Downloaded 1KB in 0.0s       

Verifying 00000020 ( 0%)
Verified OK                        
Leaving target processor paused

这表明NIOS II程序正在运行当中,可以硬件开发板上看到LED流水灯的效果

你可能感兴趣的:(实验一 基于NIOSII的LED控制系统)