本文和设计代码由FPGA爱好者小梅哥編写未经作者许可,本文仅允许网络论坛复制转载且转载时请标明原作者。
然后生成QSYS系统
创建Quartus II工程并编写顶层文件。如果是在上一節实验的基础上增加的看门狗核则不需要对Quartus II工程做任何更改,直接全编译即可否则请按照我们提供的示例工程创建Quartus II工程并编写顶层文件。
打开NIOS II 开发软件切换工作空间到当前工程目录,如果整个工程是直接复制上一个实验的工程得到的则工作空间中还会有上一个实验嘚软件工程,这里需要首先删除工作空间中已经有的工程注意,不要删除工程源文件因为这时候工程源文件还是指向了上一个工程的源文件所在位置,直接删除源文件会破坏上一个实验的工程然后在software目录下手动删除原有的工程文件。
然后选择sopcinfo文件为本工程目录下的sopcinfo文件(注意软件总是记住上一次选择sopcinfo文件时的路径,因此这里特别容易出错我们需要手动重新定位目录,软件自动打开的那个目录下的sopcinfo攵件往往都是上一个实验的不能使用)创建hello world模版工程,命名工程为watchdog_test然后点击finish即可创建新工程。
复制上一个工程中软件工程中的【hardware】文件夹到本工程下的【watchdog_test】文件夹下最好直接在电脑的文件管理器中进行(对Eclipse使用非常熟练的,请尽情使用拖拽添加的方式)复制完成后,选中【watchdog_test】工程单击右键,选择【Refresh】就可以在工程中看到【hardware】文件夹了。
directories下点击Add按钮,添加hardware/inc到包含路径中然后在弹出的对话框中點击Yes,即可将此路径添加为我们的头文件包含路径如果用户之后自己有其他的头文件路径需要添加,也是按照这种方法进行
接着我们查看下Project References中是否勾选了watchdog_test_bsp工程,如果没有勾选的话当工程关闭了重新打开时,工程有可能会报各种无法理解的错误(当一个workspace中有多个应用工程时)这里我们需要确认这个选项被勾选上了。
接着我们在hardware/inc目录下创建一个“watchdog.h”文件编写内容如下:
然后点击Apply,再点击Run即可开始下载下载完成后,我们看到开发板上的4个LED灯闪烁8次后停止下来这是因为没有使用watchdog的缘故,程序正常运行到while(1)处进入死循环
接着,我们將“//#define USE_WTD 1”这一行前面的“//”注释标识符取消然后重新编译工程,并运行下载这里我们可以看到,开发板上的4个LED灯将持续不停的闪烁这昰因为当程序运行到while(1)死循环中后,不再有喂狗操作因此看门够计数溢出,然后复位系统系统重新开始运行,则LED重新开始闪烁如此持續不断的进行。
}