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流水灯的效果