Q:上一期我们完成了Quartus硬件工程部分,本期我们创建Nios II软件工程这部分。
A:创建完BSP和Nios II Application之后,在source文件main.c中添加代码:system.h头文件中新增了Switch PIO IP的硬件信息,包括基地址、数据位宽等;altera_avalon_pio_regs.h头文件定义的两个读写函数IORD(base, regnum) 和IOWR(base, regnum, data),先调用IORD函数读取滑动开关SW的输入值,然后调用IOWR函数将读取到的值输出显示在LED上。
编译Nios II软件工程生成.elf文件,在DE2-115开发板上运行,设置SW的值可由对应的LEDR显示:
当SW[0]为UP时,LEDR[0]点亮;当SW[0]为DOWN时,LEDR[0]熄灭;
当SW[1]为UP时,LEDR[1]点亮;当SW[1]为DOWN时,LEDR[1]熄灭;
依次类推,Nios II程序读取SW[18:0]的值,显示在LEDR[18:0]上。