Helloworld XILINX EDK 第一课(精灵3开发板ISE14.7)
0赞本教程官方论坛:www.osrc.cn官方淘宝店铺:http://osrc.taobao.com本教程版权归:南京米联电子科技有限公司所有,任何个人或者单位未经本公司同意不得转载。
Helloworld XILINX EDK 第一课(精灵3开发板ISE14.7)
本教程是基于南京米联电子科技有限公司精灵3 Spartan6开发板进行,软件采用ISE14.7。本系列教程就是带领大家学习XILINX EDK开发板工具以及SDK下的编程。本教程官方论坛:www.osrc.cn
本实验的目标是学习XILINX EDK工具的使用,然后添加CPU 在总线上挂载一个uart 串口,然后通过SDK编程通过串口输出helloword
在开始实验前,请确保你的电脑已经安装好ISE14.7,本教程省略最基本的新建工程的具体细节。
1、启动ISE新建一个工程,取名字为HelloWorld
2、之后是选择芯片型号为XC6SLX9 封装为 TQG144 速度等级2
3、新建完成工程后,右击添加IP-CORE Embedded Processor 取名字为mb_system 这个IP-CORE就是大名鼎鼎的 Microblaze
4、添加完成后如图
并且软件自动跳出如下对话框,这是要启动XPS进行CPU的设计,Microblaze的CPU全部在此软件下设计。单击YES
5、下图所示选择AXI System
6、进行如下设置选择单核处理器,和系统时钟50MHZ 因为精灵3输入时钟是50MHZ
7、设置CPU时钟100MHZ ,本地内存是8KB ,读者注意开发板输入时钟是50MHZ为什么系统时钟是100MHZ呢?
8、此界面下第一简图是可以添加到总线的IP-CORE 弟二个箭头是总线类型。 Bus Interface 是总线接口,添加IP-CORE后都会在这边显示出来。Ports 是接口,添加的IP-CORE 或者外设接口都在这个界面中。
9、添加串口IP-CORE AXI UART(Lite)之后单击YES
10、设置波特率9600 串口长度8位 没有校验
11、之后是把这个IP-CORE添加到Microblaze CPU上
12、刚刚添加完成后,接着修改下名字,方便识别
13、修改名字为RS232,修改完成后
14、在port 标签下可以看到串口IP-CORE的发送和接收PIN端口上
15、由于精灵3开发板采用了单时钟输入,而默认是差分时钟输入,所以需要修改时钟,打开MHS文件修改箭头指示位置
修改完成
16、修改完成后保存,MSH 文件是可以修改的,读者熟练后可以试试自己修改
17、可以看到CLK_IN 是经过CLK输入进来的,然后经过PLL CLKOUT0输出100MHZ
18、修改完成后,可以看到输入时钟改为了单时钟输入,并且这个地方展示了所有时钟的连接情况,双击clock_generator_0查看时钟的管理模块
19、可以看到时钟倍频到了100MHZ,CLKOUT0 ,这个就是CPU得系统时钟了。
20、确保添加的串口IP-CORE 也连接到了CPU系统时钟
21、地址空间的分配情况,一般默认下穿件IP-CORE的时候就已经分配好了,如果感觉没有分配好,就点击自动分配的按钮,重新产生一下
22、修改管脚约束
23、回到ISE 双击 Generate Top HDL Source
24、产生完成后,如图所示,给CPU添加了一个顶层文件,
25、mciroblaze 系统模块已经添加好了ucf文件这里就不要再添加
26、产生bit文件,这个过程就是和一般的FPGA工程一样了。
26、编译完成后双击Export Hardware Design To SDK with Bitstream
27、修改SDK工程的路径
28、启动SDK软件后,左边部分就是硬件部分的文件
29、新建第一个Helloword的工程
FILE
---NEW
---Aplication project
30、工程名定位:HelloWorld
32、C工程,默认会采用自动编译,当有程序文件改动,并且保存后就会编译
33、准备好开发板,插上下载器,记住USB线要插上,并且通电,由于拍摄时间问题,本没有插上。
34、下载SOC硬件电路到FPGA
35、ISE14.7会自动识别需要下载的文件
36、右击工程
->Debug AS
->DebugConfigurations
37、新建一个测试文件,配置串口波特率9600 单击Apply 再单击 Debug
38、调试按钮,点击启动
39、输出HelloWorld