whilebreak

第一章 Helloworld XILINX EDK

0
阅读(1062) 评论(0)

 

本教程是基于南京米联电子科技有限公司 MiS603 Spartan6开发板进行,软件采用ISE14.7。本系列教程就是带领大家学习XILINX EDK开发板工具以及SDK下的编程。本教程官方论坛:www.osrc.cn

本实验的目标是学习XILINX EDK工具的使用,然后添加CPU 在总线上挂载一个uart 串口,然后通过SDK编程通过串口输出helloword

在开始实验前,请确保你的电脑已经安装好ISE14.7,本教程省略最基本的新建工程的具体细节。

1.1添加microblaze CPU IP CORE

Step1:启动ISE新建一个工程,取名字为HelloWorld

Step2:之后是选择芯片型号为XC6SLX16(或者XC6SLX25) 封装为 ftg256速度等级2

Step3:新建完成工程后,右击添加IP-CORE Embedded Processor 取名字为mb_system 这个IP-CORE就是大名鼎鼎的 Microblaze

Step4:添加完成后如图

wps940B.tmp

并且软件自动跳出如下对话框,这是要启动XPS进行CPU的设计,Microblaze的CPU全部在此软件下设计。单击YES

wps942B.tmp

Step5:、下图所示选择AXI System

wps943C.tmp

Step6:进行如下设置选择单核处理器,和系统时钟50MHZ 因为MiS603输入时钟是50MHZ

wps944C.tmp

Step7:设置CPU时钟100MHZ ,本地内存是16KB ,读者注意开发板输入时钟是50MHZ为什么系统时钟是100MHZ呢?

wps945D.tmp

Step8:此界面下第一简图是可以添加到总线的IP-CORE 弟二个箭头是总线类型。 Bus Interface 是总线接口,添加IP-CORE后都会在这边显示出来。Ports 是接口,添加的IP-CORE 或者外设接口都在这个界面中。

wps945E.tmp

1.2添加Uart IP

Step1:添加串口IP-CORE AXI UART(Lite)之后单击YES

wps946E.tmp

Step2:设置波特率9600 串口长度8位 没有校验

wps946F.tmp

Step3:之后是把这个IP-CORE添加到Microblaze CPU上

wps9480.tmp

Step4:刚刚添加完成后,接着修改下名字,方便识别

wps9481.tmp

Step5:修改名字为RS232,修改完成后

wps9492.tmp

Step6:在port 标签下可以看到串口IP-CORE的发送和接收PIN端口上

wps9493.tmp

wps9494.tmp

1.3修改MHS文件

Step1:由于MiS603开发板采用了单时钟输入,而默认是差分时钟输入,所以需要修改时钟,打开MHS文件修改箭头指示位置

wps94A4.tmp

Step2:修改完成后保存,MSH 文件是可以修改的,读者熟练后可以试试自己修改

wps94A5.tmp

Step3:可以看到CLK_IN 是经过CLK输入进来的,然后经过PLL CLKOUT0输出100MHZ

wps94B6.tmp

Step4:、修改完成后,可以看到输入时钟改为了单时钟输入,并且这个地方展示了所有时钟的连接情况,双击clock_generator_0查看时钟的管理模块

wps94B7.tmp

Step5:可以看到时钟倍频到了100MHZ,CLKOUT0 ,这个就是CPU得系统时钟了。

wps94B8.tmp

Step6:确保添加的串口IP-CORE 也连接到了CPU系统时钟

wps94C8.tmp

Step7:地址空间的分配情况,一般默认下产生IP-CORE的时候就已经分配好了,如果感觉没有分配好,就点击自动分配的按钮,重新产生一下,另外配置的16KB内存就是这力红色方框内的区域。

wps94C9.tmp

1.4修改UCF文件

Step1:修改管脚约束

wps94CA.tmp

1.5返回ISE进行编译

Step1:回到ISE 双击 Generate Top HDL Source

wps94DB.tmp

Step2:产生完成后,如图所示,给CPU添加了一个顶层文件,

wps94DC.tmp

Step3:mciroblaze 系统模块已经添加好了ucf文件这里就不要再添加

Step4:产生bit文件,这个过程就是和一般的FPGA工程一样了。

wps94DD.tmp

Step5:编译完成后双击Export Hardware Design To SDK with Bitstream

wps94EE.tmp

Step6:修改SDK工程的路径(读者自己指定文件相对路径)

wps94EF.tmp

1.6 SDK开发

Step1:启动SDK软件后,左边部分就是硬件部分的文件

wps94FF.tmp

Step2:新建第一个Helloword的工程

FILE

  ---NEW

        ---Aplication project

Step3:工程名定位:HelloWorld

wps9510.tmp

Step4:采用系统自带的HelloWorld模块例子

wps9511.tmp

Step5:C工程,默认会采用自动编译,当有程序文件改动,并且保存后就会编译

wps9521.tmp

1.7下载及调试

Step1:准备好开发板,插上下载器,记住USB线要插上,并且通电,由于拍摄时间问题,本没有插上。

Step2:下载SOC硬件电路到FPGA

wps9522.tmp

35、ISE14.7会自动识别需要下载的文件

wps9533.tmp

Step3:右击工程

->Debug AS

->DebugConfigurations

wps9534.tmp

Step4:新建一个测试文件,配置串口波特率9600 单击Apply 再单击 Debug

wps9545.tmp

Step5:调试按钮,点击启动

wps9555.tmp

Step6:测试结果:输出HelloWorld

wps9556.tmp

1.8本章小结

本章通过一个非常熟悉的helloworld工程,让读者学会XILINX EDK开发工具和软件的使用。本章节,讲解了ISE下如何添加microblaze的IPCORE、第一次创建CPU需要进行的必要配置、在XPS中添加Uart IP CORE、修改MHS文件、修改时钟模块等。学习完本章节,可以为后续章节打好基础。