欣欣学习网,老工程师带你学习单片机技术,欢迎来坐坐。
首  页 | 学习NIOSII | 学习C51 | 学习CPLD | 51+CPLD实验板 | | | MY-RTOS

这是个年代久远的项目,需要在 Windows Xp 上操作。建议在 Virtual Box 虚机上安装Windows Xp系统,使用更方便。

 开发板概述
 安装QuartusII6.0软件
 安装Nios II EDS6.0
 电源测试
 时钟与FPGA测试
 AS配置功能测试
 SDRAM测试
 Flash测试
 PS配置功能测试
 以太网接口测试
 Quartus II 使用入门
 安装ModelSim6.0SE
 使用ModelSim仿真
 使用ModelSim做后仿真
 观察FPGA内部信号
 NiosII处理器简介
 建立一个NiosII系统
 软件开发流程
 实现用户自定义外设
 实现用户自定义指令
 Flash 编程
 添加RTL8019以太网接口
 运行LwIP网络协议栈
 运行uClinux操作系统
 HDL 语言例程
 相关软件及技术文档


NiosII/FPGA学习板

软件开发流程


1.

这个实验中,需要用到前一实验中产生的 nios_II_lab.sof 文件和 niosII.ptf 文件。使用 Quartus II6.0 软件打开前一实验创建的 Project 。通用 Tools => Programmer 菜单命令,启动 Quartus II Programmernios_II_lab.sof 文件会显示在文件窗口中。

2.

选中 Program/Configure 选项,点击 Start Programming 按钮,将其下载到开发板上。

3.

通过 Start => program => Altera => Nios II EDS 6.0 => 菜单命令启动 Nios II6.0 集成开发工具。

4.

通过 File => New => Project 启动新工程向导。 选择 C/C++ Application ,点击 Next 按钮继续。

5.

给新项目取名 nios_II_lab 。在 Target Hardware 栏目中,浏览到前一实验中由 SOPC Builder 创建的系统描述文件:niosII.ptf ,选择并加入。在左手边的 Template 窗口中选中 Blank Project 模板,如下图所示。

6.

点击 Next 按钮进入下一页,选中 Creating a new library ,点击 Finish 按钮。

7.

打开 Windows 的文件浏览器,浏览到 altera_trn\nios_II_lab\software 文件夹,复制 simple.c 文件。点击左手边窗口的 Navigator 表头,选中刚才所建的 nios_II_lab 工程,点击右键,在弹出菜单中点击 Paste 命令。

8.

回到 C/C++ Project 页,选中 nios_II_lab 项目,点击右键,在弹出菜单中点击 Refresh 命令,使系统确认刚才的更改。

9.

选中 nios_II_lab 项目,点击右键,在弹出菜单中点击 System Library Properties 命令。确认 stdoutstderrstdin 设置为 jtag_uart ,同时,确认 Periodic system timer 设置为 SYS_CLK_TIMER 。对于 Program MemoryRead-only data MemoryRead/write memoryHeap memoryStack Memory 几个参数,均设为 sdram 。点击 OK 按钮确认。

10.

到此,我们已经建立了一个新项目,并且设定程序运行在 sdram 中,使用 JTAG UART 作为标准终端。选中该项目,点击右键,在弹出菜单中点击 Build Project 命令,进行编译。

11.

编译完成之后,选中该项目,在右键菜单中选项择 Run As=>Nios II Hardware 命令,将其运行在开发板上。

   

注1: 如果系统提示Jtag 设备无效,请通过 Run => Run… 进入设置对话框,从 Target Connection 页中选定所使用的下载线类型。

   

注2: 我们也可以直接使用 Run As => Nios II Hardware 运行该程序,系统会自动进行编译。

   

程序已经运行在开发板上,我们可以通过 console window 观察输出结果。按下开发板上任一按键,板上被点亮的 LED 小灯的位置向右移一位。

12.

现在来调试我们的程序。选中 nios_II_lab 项目,点击右键,在弹出菜单中选择 Debug As => Nios II Hardware 命令。系统会下载程序到开发板,并转入调试窗口。

13.

在程序的第22行和第37行设置断点。如果文本编辑器没有显示行号,可以通过 Windows => Preferences 菜单命令进入系统参数设置对话框。在 C/C++ 组中选中 C/C++ Editor ,在对应的参数设置页中,选中 Show line numbers 选项,点击 OK 确认。

   

设置断点的方法比较简单,只需把鼠标放在对应行左侧的灰色区域,然后双击左键即可。在 Run 菜单中,选择 Resume 命令,或按 F8 按键,全速执行我们的程序。

14.

在观察窗口中,观察变量 buttons 的值。可以通过右键菜单的 Format => Hexadecimal 命令,使其以16进制数的形式显示。

15.

再次按 F8 。由于开发板上没有按键按下,判别式的值为 FALSE ,花括号中的语句不会被执行, 所以程序不会停在第37行,而是再次停在第22行。

16.

按下开发板的 S4 键不放,再次按 F8 全速执行。观察窗口中,变量 buttons 的值有所改变。

17.

继续按下开发板的 S4 按键不放,按下 F8 全速执行。程序停在第37行,开发板上被点亮的 LED 小灯的位置也随之发生了变化。

18.

再次按 F8

19.

双击观察窗口中的 buttons 变量,将其值改为 0xe 点击 OK 。按 F8 全速执行,判别表达式的结果为 TURE ,因为 button 已被改变。

   

这是一个非常有用的功能,特别是在硬件的外部事件很难重复的情况下,可以用来模拟外部事件。

20.

Run 菜单下,选择 Terminate 命令,结束程序的执行。将鼠标移到左侧的“小甲虫”图标上,点击右键,在弹出菜单上选择 Close 命令,关闭调试界面。




管理员信箱: stonewayqi@hotmail.com

欣 欣 学 习 网

粤ICP备2023138008号