NIOS II点亮LED
1、基本构成
2、第一步创建一个普通工程取名LEDTEST
3、tools--Qsys,或者下图快捷键
会进入如下界面,双击修改时钟频率为自己的实际频率
4、加入nios II软核
5、给软核添加ROM
6、给软核添加RAM
7、给系统添加ID,如果使用多个系统用来区分用
8、添加IO口
9、设置nios,选定RAM、ROM。之后system--assign base adress
10、连线,设置ROM从0地址开始,上锁,之后system--assign base adress
11、生成。
12、复制2的部分,关闭qsys
13、建立顶层文件如下:
module LEDTEST
(
CLK_50M,
RST_N,
LEDOUT
);
input CLK_50M;
input RST_N;
input LEDOUT;
mysys u0 (
.clk_clk (CLK_50M), // clk.clk
.pio_led_export (RST_N), // pio_led.export
.pio_led_reset_reset_n (LEDOUT) // pio_led_reset.reset_n
);
endmodule
14、将软核加入工程
15、管脚例化,编译
16,tools--nios II ……,打开nios,选择工程文件夹
17、file-new-nios II applicatio and bsp from template,SPOC选择如下
18、hello_world_small.c文件内容替换如下
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
int main(void) {
alt_u8 led = 0;
alt_u32 i;
while(1)
{
led = 0;
IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led);//点亮LED灯
i = 0;
while(i<500000) //延时功能,非精确延时,数值太小将无法看到灯的闪烁效果
{
i++;
}
led = 1;
IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led);//熄灭LED灯
i = 0;
while(i<500000) //延时功能,非精确延时,数值太小将无法看到灯的闪烁效果
{
i++;
} }
return 0;
}
19、右键工程,build project
20、回到quartus,下载sof文件到FPGA
21、回到nios II run-run configureration打开界面,电机nios II hardware打开如下界面
选target connection 如果2没有,点击3直到2出现如下
此时点击1处能看到ID是我们设置的那个
之后点击该界面的apply run,能看到LED闪烁
本文地址:https://blog.csdn.net/cw0617/article/details/112508291
上一篇: ListView基础知识
下一篇: call、apply、bind 区别