Yindow

【红色飓风Nano二代测评】HelloWorld之XPS

0
阅读(2888)

通过前几个实验基本了解了ISE软件的操作,以及Xilinx的开发流程。由于我在Altera那边受到SOPC的毒害比较深,以前做过的一些工程大部分都是通过SOPC完成的。所以我想在Xilinx这边尽快上手类似于niosII之类的嵌入式开发平台。

通过各方面的查找资料,总算是找到了,在Xilinx这边他就是-->EDK,在EDK的软件包中包含两个软件XPS(对应SOPC)XSD Kit(对应niosII)

我们可以打开ISE软件,在工程中新建Embedded Processor这个资源文件,也可以直接打开EDK下面的XPS软件。前者主要是将处理器作为工程的一部分时使用的,后者就是专门用于设计完备的嵌入式系统。下面我主要是将在nano开发板平台上面搭建一个简易的嵌入式系统,这样可以加深一下印象,以后可以将我在niosII上面开发的一些东西移植过来哦。

在开发EDK的时候我参考了网上的一些例程,也看了书本上面的介绍。反正我是被这些参考例程看蒙了,现在就把我理解的EDK开发流程贴出来,欢迎拍砖。

首先打开XPS软件,如下图1所示

 

图1 打开XPS软件

此时会弹出一个对话框,如下图2所示

 

2 XPS软件打开后弹出的对话框

我们采用向导来创建这个工程,所以选择第一个选项,然后点击OK。将工程保存在指定的文件夹中,在点击OK.由于我们的开发板使用的是Spartan6系列的芯片,我们选择PLB system(那个AXI system有时间再试试),然后点击OK。然后会弹出如图3所示的对话框

 

3 BSB System Builder

直接Next,此时会弹出开发板选择对话框,所以此时我们要选择自己的板子,然后选择好芯片的系列、型号、封装、速度级别等,如下图4所示。

 

选择对应的开发板上芯片型号

果断下一步,然后我们选择单处理器系统,然后果断再下一步,选择系统时钟频率、存储器等,我们选择默认设置,然后果断下一步。然后我们就到了Peripheral界面。点击Add Devices,我们添加一个串口驱动和一个8位的LEDS驱动,如下图5所示。

 

 

添加一些Devices

然后果断下一步、下一步...

最后我们会看到如下图6所示的界面,在这个界面上我们要关注system.ucf这个文件。我们需要修改这个文件,将我们开发板上面的串口、LED等的引脚与系统连接起来。

 

向导最后一个界面

点击完成,这个时候我们会看到通过向导创建完成的界面,这个个界面上我们任然可以添加修改一些软核。这个和SOPC的类似,接下来有时间会好好熟悉它的,其实我觉得最有意义的就是学会添加自定义IP核,这样我就可以将AlteraXilinx连接起来了。

到了这个界面后,我们点击打开上文提到的那个system.ucf文件,然后修改为这个样子:

#  Generic Template

Net fpga_0_RS232_RX_pin LOC=F14;

Net fpga_0_RS232_TX_pin LOC=F13;

Net fpga_0_LEDS_GPIO_IO_O_pin<0> LOC=M12;

Net fpga_0_LEDS_GPIO_IO_O_pin<1> LOC=L12;

Net fpga_0_LEDS_GPIO_IO_O_pin<2> LOC=L13;

Net fpga_0_LEDS_GPIO_IO_O_pin<3> LOC=M14;

Net fpga_0_LEDS_GPIO_IO_O_pin<4> LOC=R12;

Net fpga_0_LEDS_GPIO_IO_O_pin<5> LOC=T12;

Net fpga_0_LEDS_GPIO_IO_O_pin<6> LOC=T13;

Net fpga_0_LEDS_GPIO_IO_O_pin<7> LOC=T14;

Net fpga_0_clk_1_sys_clk_pin TNM_NET = sys_clk_pin;

TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 50000 kHz;

Net fpga_0_clk_1_sys_clk_pin LOC=M9;

Net fpga_0_rst_1_sys_rst_pin TIG;

Net fpga_0_rst_1_sys_rst_pin LOC=P7;

也就是与我们的nano开发板上面的引脚对应。然后点击HardWare--->Generate Netlist,等待网表生成完成!

...

NGCBUILD done.

Done!

这个时候我们打开串口调试助手,设置一下波特率,与我们之前新建的串口驱动的波特率一致,然后打开串口。

这个时候,我们选择Device Configuration--->Download Bitstream

...

INFO:iMPACT:2219 - Status register values:

INFO:iMPACT - 0011 1100 1110 1100 

INFO:iMPACT:579 - '1': Completed downloading bit file to device.

INFO:iMPACT:188 - '1': Programming completed successfully.

INFO:iMPACT - '1': Checking done pin....done.

Done!

下载完成之后,我们观看我们的串口调试助手,如下图7所示:

 

测试信息

当我们在串口调试助手上面看到:

-- Entering main() --

-- Exiting main() --

这个信息后,表示我们的片上系统已经建立成功了。接下来就是建立软件工程了。