TA的每日心情 | 开心 2017-2-14 08:56 |
---|
签到天数: 18 天 连续签到: 1 天 [LV.4]偶尔看看III
|
这两天一直测试niosII 的配置和应用,碰到各种问题,还好有伟大的搜索引擎,帮忙解决了两个问题,剩下的问题都是自己一点点试的,还是挺花时间的。在也是使用新的quartus prime 16,又有些配置和原来不太一样了,所以根据自己的需要进行尝试配置就可以了。
书归正传,接下来我们一步步地来配置第一个NIOSI程序。
首先还是要新建一个工程,就不细说了,命名为max10niosled,有人说怎么又是LED,简单好玩,不失乐趣。建完工程后,点开Qsys图标,如图1所示。
就会出现NIOSII配置的界面,你会发现只有时钟。这就需要自己在左面列表中找到系统需要的组件。如图2所示。
作为一个系统,需要一些常用的组件,比如NISOII内核,JTAG UART,PIO,systemID,还有RAM。
添加System ID外设。如果熟悉的话,就比较好找这些外设,如果不熟悉呢,上面有个搜索框直接搜索要找的外设就出来了,如图3所示。很方便。
双击所需要的外设,就会弹出设置窗口,对外设进行设置即可。如图4,图5,图6,图7所示。
然后将这些外设的时钟,复位,信号与系统部分相连,如图8所示。
就形成了一套系统,试试吧。
接下来就是产生系统核文件,配置完后,点击右下角Generate HDL...,弹出对话框,配置如图9所示,
点击Generate.稍等会吧,得有几分钟时间。完成以后呢,有几个警告是很正常的。
完成后,回到quartus 界面,在工程中新建一个verilog 文件,然后在项目文件中找到mynios_inst.v文件,将里边的内容拷贝到程序文件中,如图10所示。并修改括号中的内容。
然后点击分析与综合一下。配置引脚,整体编译一下。
接下来在Qsys界面中,打开Eclipse(Tools->NiosII Soft Build Tools for Eclipse),就弹出了Eclipse的界面。点击file,新建 NiosII Application and BSP from Template,接下来的配置如图11所示。点击完成即可。
生成了两个文件夹,一个项目文件,一个是工程文件(BSP)。右击项目文件,新建一个.C的源文件,命名为myniosfile.c。要测试的程序如下面代码所示。
#include "alt_types.h"#include "altera_avalon_pio_regs.h"#include "sys/alt_irq.h"#include "system.h"#include "stdio.h"#include "unistd.h"void delay(void);int main(){ IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,0x0); while(1) { IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,0x1); delay(); IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,0x0); delay(); } return 0;}void delay(void){ alt_u32 i =0; while(i<100000) { i++; }}右击工程文件,在NIOSII的二级菜单中选择BSP Editer,配置如图12所示,
这是要把代码裁剪一下,否则会超过RAM。然后generate一下,就OK了。同时选中工程文件和项目文件,右击选择Build Project。编译没什么错误。
右击项目文件,在Run as 的二级菜单中选择第四个,NiosII modelsim,进行仿真。为了使仿真快点,修改了下时间。如图13所示。
返回quartus prime界面,点击programmer,将.sof文件下载到板卡中。
右击项目文件,在Run As的二级菜单中选择第三个,NiosII Hardware,看看板卡的效果吧。
遇到的问题及解决方法:
问题1:16031 Current Internal Configruation mode does not support memory initializtion or Rom.
方法:Assignment->Device->Device and Pin Options->Configruation->Configuration Mode:Single uncompressed image with memory Initialization
问题2:undefined reference to 'main' in eclipse
方法:如果你用的是C++,把源文件命名为.CPP,如果你用的是C,在Eclipse的project菜单中有个Clean,点击,选中两个文件,但是不能选Build,配置如图14所示。
重新generate,build project就解决了。
问题3:更新完NIOSII配置以后,怎么在Eclipse中重新更新.sopcinfo文件
方法:右击工程文件(BSP),NiosII->BSP Editor,在界面的File->New BSP中重新加载.sopcinfo文件即可。
|
|