- 5
- 0
- 约1.59万字
- 约 19页
- 2018-03-09 发布于贵州
- 举报
SOPC实验指导书推荐
SOPC实验
3.1使用NiosⅡ IDE建立用户程序
1.创建一个新的C/C++应用工程
执行下面的步骤来创建一个新的C/C++应用工程:
1. 启动NiosⅡ IDE。选择【开始】??【程序】??【Altera】??【QuartusⅡ 5.0】??【NiosⅡ Development Kits 5.0】??【NiosⅡ IDE】启动NiosⅡ IDE。也可以通过图1.1直接点击按钮来启动NiosⅡ IDE。
图1 启动NiosⅡ IDE
2.如果出现Workspace Launcher对话框,单击设置工作空间为QuartusⅡ工程的文件夹,如图2所示,这样便于管理。如果是第一次进入工作区,NiosⅡ IDE会先弹出一个欢迎界面,此时点击右上角的Workbench图标,就可以进入NiosⅡ IDE编辑界面。
图2设置IDE工作空间
3.如图3所示,选择【File】??【New】??【C/C++ Application】来打开新建C/C++工程向导,如图4所示。
图3打开新建C/C++工程向导
图4新建C/C++工程向导
4.单击Select Target Hardware右侧的按钮打开Select Target Hardware窗口,选择led_nios2_system.ptf文件,即指向当前硬件设计系统,如图5所示。
图5选择硬件目标文件
5.选择Select Project Template列表中的hello_led。Name栏中自动更新为hello_led_0,确认选中Use Default Location栏,如图6所示,单击完成工程创建。
图6完成设置后的工程向导
向导中的Select Project Templates一栏中是已经设计好的软件工程,用户可以选择其中的一个,把它当作模板来创建自己的工程。当然也可以选择Blank Project(空白工程),完全由用户写所有的代码。本实验选取了hello_led工程,然后在此基础上进行适当的修改,一般情况下这比空白工程更加容易,也更方便。
创建工程后,在NiosⅡ IDE工作台左侧的C/C++ Projects视图中显示两个新的工程:hello_led_0和hello_led_0_syslib。hello_led_0是C/C++应用工程,而hello_led_0_syslib是描述hello_nios2_system系统硬件细节的系统库。
IDE工作台的左侧有两个标签:C/C++ Projects视图和Navigator视图。单击C/C++ Project选项卡来显示C/C++ Project视图。该视图适合于大多数的C/C++开发活动。
打开hello_led.c,将其中的int alt_main函数用程序清单2.1所示的清单替换,然后保存。
int alt_main (void)
{
alt_u8 led = 1;
alt_u32 i;
while (1)
{
led=1;
IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, led);
i = 0;
while (i)
{
i++;
}
led=0;
IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, led);
i=0;
while (i)
{
i++;
}
}
return 0;
}
3.2 PIO输出控制实验1——流水灯控制
1.实验目的
熟悉NiosⅡ PIO设备的访问方法
2.实验设备
硬件:PC机
EDA/SOPC/DSP实验箱
软件:QuartusⅡ 5.0、NiosⅡ IDE 5.0
3.实验内容
使用PIO口控制8个LED进行流水灯显示。
4.实验步骤
(1)启动NiosⅡIDE并建一个空白C\C++工程,然后命名为LEDCon_C。
(2)在LEDCon_C工程文件夹中新建应用程序文件main.c。
(3)在System Library设置页中,把程序和数据区都指定为flash。
(4)编译整个工程,查找语法错误。
(5)Debug整个程序,看输出是否正确。
(6)把程序下载到Flash中去全速运行程序。
5.实验参考程序
PIO输出控制实验1的例程 见程序清单3.1
程序清单3.1 流水灯控制
#include system.h
#include altera_avalon_pio_regs.h
#include alt_types.h
int main (void)
{
alt_u8 led = 0x2;
alt_u8 dir = 0;
volatile int i;
while (1)
{
if (led 0x81)
{
dir = (
原创力文档

文档评论(0)