第一步:打开quartus,新建一个工程。
新建工程名为:nios2_led。
选择Cyclone II的EP2C8Q208C8。
点击FINISH。
第二步:打开SOPC BUILDER。
system name:sopc_led。
双击clk_0,修改名字为clk。(系统默认时钟频率50MHz)
添加片内存储器,双击on_chip memory(ram or rom)。
选择片内RAM,使用资源M4K,数据位宽32位,总存储大小12KB,点击finish。
右键单击onchip_memory2.0,点击rename,修改片内存储器的名称为onchip_mem。
然后,添加nios2处理器,双击niosII processor。
选择Nios II/s,hardware Multiply选择none,memory选择onchip_memory。
修改指令缓存为2KB,单击finish。
修改处理器的名字为cpu。
添加定时器,双击intervwal timer。
修改presents为full_featured,单击finish。
修改名字为sys_clk_timer。
添加JTAG UART组件。
选择默认设置,单击finish,修改名字为jtag_uart。
双击pio,默认设置,更改组件名为led_pio。
双击system id,默认设置,点击finish,务必修改名字为sysid。
完成上述各个组件的添加配置后,需要进行地址和中断优先级的设置。
然后单击Generate,保存名字sopc_led。
等待一会出现system generation was successful,则说明系统成功生成。
第三步:例化NIOS II工程。
新建顶层文件nios2_led.v。
打开sopc_led_inst,粘贴到顶层文件里面,进行例化。
然后编译,管脚分配,将.sof文件下载到板子里。
第四步:新建软件工程。
打开图片下方的NIOSII。
选择目录到工程文件夹下面。
然后新建工程,点击nios2 application and bsp from template.
然后选择目录文件夹下面的sopc_led.sopcinfo。
工程名字:prj_nios2_led,并选择count binary。
单击finish。
设置编译属性,否则文件编译过大,12K的存储容量不够。优化的目的是删除一些不用的驱动程序从而减小代码量。
右键单击prj_nios2_led,点击bsp editor,
修改参数。
点击generate,点击exit。
然后点击build project。
第一次编译时间较长,等待一会。
然后点击nios2 hardware。
就可以看到led灯在闪动。
如果出现下图,那就代表.sof文件没有下载到板子里面。然后重新下载一下,点击refresh connections就可以了。