《NiosII软件设计与运行流程new.doc》由会员分享,可在线阅读,更多相关《NiosII软件设计与运行流程new.doc(10页珍藏版)》请在金锄头文库上搜索。
1、NiosII软件设计与运行流程本实验是于实验1相连的,本实验主要完成在NiosII硬件系统完成及下载于FPGA中的基础上,进行软件开发、下载和调试,具体流程如下:1、 向FPGA下载配置文件。以下的实验将更多地与SOPC实验系统联系。本次实验是使用清华大学电工电子实验中心的GW48-SOPC实验系统(康芯公司),下载前连接好下载通信线,打开电源,打开光盘上关于此实验系统的PDF/PPT默认设置说明,确认实验系统所有开关和跳线处于默认设置位置。用10芯通信线将实验系统左侧的“Byterblaster II”接口与适配板上的JTAG Port口相连;将实验系统左侧的跳线短路帽接插“ByBt II”
2、端,编程电压选择跳线短路帽插3.3V(此电压接错不会损坏系统)。按动实验系统左下角的电路模式控制键,选择模式5(在上方的数码管会显示5字),这时实验系统将进入附录中附图1的电路连接模式(有12中不同的可选硬件电路模式)。注意模式5的8个键控特点:每按键一次,输出电平反相一次,电平高低由此键上方的发光管显示;还注意到此时FPGA输出的32个I/O口接了8个数码管,每4个I/O口接一个数码管,且在每一数码管外接了一个16进制至7段译码的译码器,这样可以大大节省I/O口的耗用。FPGA的主要端口是用标准信号名PIOx标注的,具体引脚号在引脚锁定时查阅附录的附表1;例如附图1中连接FPGA的键8端口标
3、准信号名是“PIO7”,查附表1,横项GW48-SOPC对应Pin240。现在可以开始下载配置文件,以便在FPGA中建立NiosII硬件环境。打开QuartusII,再打开实验一的工程,选择菜单ToolsProgrammer,弹出图2-1所示窗口,首先选择接口模式,对于Mode栏确认选择JTAG模式;如果是首次安装并使用该软件,要作下载接口模式选择:点击图2-1左侧的Hardware Setup按纽,将弹出图2-2所示窗口。如果实验系统的连接是正确的,在图2-2的窗中的Hardware栏应该看到测试到的“ByteBlasterII”接口名,双击该名再退出该窗,就能在图2-1窗的Hardware
4、 Setup按纽右侧看到ByteBlasterIILPT1字样。最后如图2-3,加入配置文件niosII_lab.sof,点击Start按钮,下载该文件。由图1-33可见,该NiosII系统是低电平复位,高电平正常工作,所以在下载了SOF文件后,要将实验系统的键8置于高电平(NiosII系统的复位信号锁定于键8Pin240,模式5)。2、 进入集成开发环境IDE。再次进入图1-23所示的SOPC Builder窗, 进入System Generaiom页, 点击Run NiosII IDE按纽(图2-4),或选择菜单Tools Nios II IDE,进入IDE环境。 图2-4 点击Run N
5、iosII IDE按纽,进入集成开发环境作此选择后将弹出图2-5所示的窗口,其中有一个软件过程路径选择窗workspace,在此选择如图所示的路径,他是本示例中已预先建立的一个空文件夹;如果此前已经有了自己的软件实例工程库文件夹,现在还想使用,则必须浏览到对于路径,并进入该文件夹。点击OK后将出现图2-6所示的窗口(以后进入同一工程库将不会出现该窗)。再点击此窗右上角的workbench按钮,即进入IDE环境。3、 建立C软件开发工程。进入的IDE环境窗口的左栏是各工程的工程名和相关的应用文件名,中间是选中的某一文件的内容,及其编辑环境;右栏是对应文件中关键项目名称。为了新建一个开发软件的工程
6、项目,选择菜单File的New-Project.(图2-7),在弹出的如图2-8所示的窗口中选择C/C+ Application ,并按Next按钮,在于继而弹出的窗口(图2-9)中选择现成的实例“Hello_Led”作为实验程序,并在工程名栏键入当前软件实例工程名:“led_8bit”;并确认在. Select Target Hardware栏中的ptf文件来自当前SOPC Builder System 的硬件设计文件和处理器名:Nios2_systm.ptf,和CPU名:“CPU”。图2-5 选择软件工程库图2-6 选择进入IDE软件设计/调试平台图2-7 建立一个软件实例工程图2-8 选
7、择C/C+应用图2-9 在示例库中选择一个C程序实例点击Finish后即进入如图2-10所示的IDE环境,在左栏已能看见新建的工程:led_8bit ,双击下方的程序名hello_led.c,在中栏即能看见此源程序代码(图2-10)。将代码中原语句while(i200000)改为 while(i Nios II Hardware.。选中后将可能出现图2-12所示的窗口,选择OK,表示对新改的程序存盘。图2-10 进入NiosII IDE窗口 图2-11 编译、下载并在NiosII CPU中全速运行该示例 图2-12 存盘已修改的C源程序4、 观察运行结果。在如果一切无误,最后在下方的conso
8、le信息窗将出现如图2-13所示信息,表示已将程序下载到NiosII系统,并已运行。注意,如果有问题可以再下载一次。一般出现的问题有多种:如没有将当前硬件工程中的SOF文件配制进FPGA;没有为复位信号设置正确电平;没有设定正确的系统时钟输入频率;没有设置好正确的下载接口模式;没有对实验系统选择正确的电路模式(模式5),等等。程序运行后可以在实验系统上的上排8个发光管上发现它们在从左至右,从右至左跳动发亮,跳动的速度由语句while(i Nios II Hardware,全速运行。完成后我们可以看到,语句执行后打印出的结果通过JTAG UART口送上了计算机,显示在信息窗内(图2-21)。图2
9、-20 修改hello_world.c源程序图2-21 hello_world.c程序下载运行成功,并通过JTAG_UART口输出执行结果7、 运行用户程序。在如果用户自己编辑了一个程序该如何加入工程中进行调试呢?步骤如下: 与以上步骤基本相同,首先是为自己的程序建立一个工程(图2-22),同样选择C/C+应用(图2-23);图2-22 为调试一个用户程序建立一个空白工程图2-23 同样选择C/C+应用在弹出的图2-24窗中的Select Project Template栏选择Blank Project,建立一个空白工程,即未含源程序代码的工程,键入工程名,如Project_LED,点击Nex
10、t和Finish按纽后回到IDE窗口。在IDE窗,点击左侧的“C/C+ Projects”页旁的“Navigator”页(图2-26);然后打开Windows的资源管理器,找到自己C程序放置的文件夹(如hello_SEG7.c ,如图2-26所示),打开,再缩小资源管理器的界面,用鼠标点住文件名(如hello_SEG7.c),拖向左侧IDE窗口的Project_LED过程名中。再点击“C/C+ Projects”页,返回软件工程窗(图2-27)。完成后即能在此工程名下看到被拖入的C程序。选择Run As- Nios II Hardware,全速运行之(图2-27)。注意不要忘了,在这之前下载当前工程的SOF配置文件进入FPGA中,选择实验系统模式5,设置复位信号允许工作。 图2-24 选择空白工程,并取名为:project_LED 图2-25 选择默认设置图2-26 将hello_SEG7.c拖入Navigater栏中的用户C程序工程此程序的运行结果是,实验系统上排的8个发光管轮流闪动,数码管4、3、2、1显示4个16进制数:A、B、C、D。图2-27 返回C/C+ Projects窗,并全速运行该用户程序