调试/运行程序之前要把嵌入式系统的硬件系统下载到FPGA中。程序的调试可以发生在下面的环境:NiosIIHardware——NiosII硬件。NiosIIInstructionSetSimulator——NiosII指令集仿真器。NiosII程序的运行可以发生在下面的环境:NiosIIHardware——NiosII硬件。NiosIIInstructionSetSimulator——NiosII指令集仿真器。NiosIIModelSim——在ModelSim软件环境下运行。想要在哪个环境下调试和运行只要通过鼠标右键单击NiosII工程,然后在弹出的菜单中选择DebugAs/RunAs,再选择相应的环境,用户还可以通过选择Run菜单DebugAs/RunAs来实现同样的功能。6.3.1调试/运行环境设置但是在调试/运行程序之前,必须先对上述的调试/运行环境进行设置。方法是选择Run菜单Debug…/Run…。如果选择执行Run菜单中的Debug…,出现下图的窗口,在窗口中,选中NiosIIHardware,双击或者点击快捷图标Newlaunchconfiguration,就新建了一个硬件调试配置。对NiosII指令集仿真器有同样的方法。对调试环境的设置主要是Targetconnection和Debugger配置页。配置的首页是Main配置页,用户一般不用修改。选择TargetConnection配置页,出现相应的窗口。JTAGCable:进行JTAG下载电缆的选择。当只有一个下载电缆是,会自动选择,无需设置,当有多个下载电缆时,用户手动进行选择。JTAGDevice:进行连接在JTAG链上的FPGA器件的选择,本例只有一个器件,用户不用选择,当具有多个器件时,用户必须手动进行选择。NiosIITerminalcommunicationdevice:进行NiosII系统终端通信设备选择,本例选择jtag_uart。6.3.2调试/运行程序进行完调试和运行环境的设置之后,调试和运行程序只要点击Run菜单,然后选择RunAs/DebugAs,再选择相应的运行/调试环境,如NiosIIHaredware。控制台会显示调试和运行程序的信息。6.3.3下载程序到Flash用户可以将软件文件、FPGA配置文件和数据文件存储到flash存储器中。对flash存储器编程能够使硬件在启动的时从flash装载软件和FPGA的配置。用户可以使用NiosIIIDEflashprogrammer编程连接到FPGA的flash存储器。用户好似用flashprogrammer配置来管理flash存储器的编程。flashprogrammer配置是影响特定的目标硬件的flash编程进程的一组设置。用户可以创建多个flashprogrammer配置,每一个具有自己的编程参数。如果用户在多个目标板上开发项目时很有帮助。用户也可以建立一个flashprogrammer配置来编程文件的组合,允许用户一次操作编程两或三个文件。1.打开flashprogrammer,创建flashprogrammer配置在Tools菜单中,点击FlashProgrammer....,出现FlashProgrammer对话窗口。在配置列表中右键单击FlashProgrammer,然后在弹出菜单中单击New,一个新的flashprogrammer配置出现。在Name框中为该配置输入一个唯一的、有意义的名字。2.指定要编程到flash存储器的文件在配置列表中,单击一个flashprogrammer配置。点击Main页。如果要将可执行文件编程到flash存储器,采用如下的步骤:选中Programsoftwareprojectintoflashmemory。在Project框中指定工程。flashprogrammer会自动找到用户工程的NiosIIELFExecutable和目标硬件。如果用户不是将可执行文件编程到flash存储器,采取如下的步骤:选中Programsoftwareintoflashmemory.删除Project框中的内容。不选择Programsoftwareintoflashmemory。SOPCBuilderSystem框可用.在SOPCBuilderSystem框中指定目标硬件文件。如果要将FPGA配置编程到flash存储器,采取如下的步骤:选中ProgramFPGAconfigurationdataintohardware-imageregionofflashmemory.在FPGAconfiguration(.sof)框中指定数据文件.在HardwareImage列表中选择FPGA配置位置。在Memory列表中,选择flash存储器设备。在Offset框中,键入flash存储器设备中的配置文件起始位置的偏移量。如果用户要将数据文件编程到flash存储器,采用如下的步骤:选中Programafileintoflashmemory。在File框指定要编程到flash的文件。在Memory列表中,选择flash存储器设备。在Offset框中,输入数据文件的在flash存储器设备中起始位置的偏移量。指定编程的线缆和目标flash存储器设备在配置列表中,单击一个flashprogrammer配置。单击TargetConnection页。在JTAGcable列表中,选择连接到目标板的JTAGcable。如果用户只有一条电缆,automatic的设置会自动地确定用户的下载线。如果用户的下载线没有出现在列表中,确认是否正确地安装和连接,然后点击Refresh将其添加到列表中。在JTAGdevice列表中,选择要编程的NiosII系统。如果用户只有更一个连接到JTAGCable的NiosII系统,automatic的设置自动确定用户的系统。如果用户的NiosII系统没有显示在列表中,确认硬件是否正确地安装和连接,然后点击Refresh将其添加到列表中。编程目标板上的flash存储器在配置列表中,点击一个flashprogrammer配置。Main和TargetConnection页上的设置必须是合法的。点击右下角的ProgramFlash开始对flash编程。flash的编程过程需要几分钟,具体的时间取决于下载的数据的大小。如果用户的工程不是最新的,在将工程编程到flash存储器之前,NiosIIIDE会自动地编译用户的工程。用户也可以关闭自动编译,在Window菜单,点击Preferences,然后展开Run/Debug,点击Launching,然后去掉Build(ifrequired)beforelaunching的选项。如果需要的话,flashprogrammer自动地在编程数据之前添加上boot-loader代码。