TA的每日心情 | 擦汗 2017-8-7 15:27 |
---|
签到天数: 4 天 连续签到: 1 天 [LV.2]偶尔看看I
|
最近拿到一块Digilent公司的Nexys3 Spartan6 FPGA开发板,想学习一下使用EDK如何开发嵌入式系统的设计。Nexys3上的FPGA是Xilinx公司Spartan-6系列的XC6LX16CSG324,其上集成了32位的软核处理器Microblaze,用Xilinx的目标设计平台XPS/EDK可以很方便进行嵌入式系统的软硬件设计。MicroBlaze目前支持两种内部总线PLB和AXI,首先学习下搭建基于PLB总线的系统平台
准备工作:
- PC机 Windows XP sp3
- Xilinx ISE Design Suite 13.2
- Nexys3 开发板
- 串口监视程序----超级终端(串口设置:波特率9600,8位数据位,1位停止位,无奇偶校验)
- Nexys3 BSB 支持包[url=https://www.digilent.cn/Products/Detail.cfm?NavPath=2,400,910&rod=NEXYS3]Nexys3_BSB_Support_v_2_3.zip[/url]
1.BSB向导建立嵌入式系统
打开XPS,选择BSB向导
命名新的project,选择PLB system,在路径框里选择BSB PLB支持包所在目录
按步骤进行,始终选择83.33Mhz
选择系统的构件,第一个系统希望越简单越好,所以只保留按钮,开关,串口监视IP核。其他的全部先remove。
系统的一些基本信息
2. 系统的设置编译
下图可以看到该系统的所用IP,Nexys3有一个定制IP:mem_bus_mux_0,只要用于控制多个存储器的分配,系统会自动加入。
端口的连接
地址的分配
左边Project栏也自动生成了system.mhs文件和system.ucf文件
选择Hardware->Generate Bitstream 这个过程有点慢
3. 软硬件环境的建立
选择Project->Export hardware design to EDK…,弹出窗口启动EDK
建立一个workspace
可以看到硬件设计导入了EDK
首先要建立BSP,是作为嵌入式系统的各种外设的软件驱动。选择File->New->Xilinx Board Support Package
完成后EDK会自动编译,这时可以看到BSP建立了
到此一个简单的嵌入式硬件平台和驱动算是建好了,下面可以在这上面进行软件开发了。
4.软件测试程序
选择File->New->Xilinx C Project,试一试系统自带的demo程序,选择Peripheral test程序
这里可以选择刚刚建立好的BSP
完成后EDK自动编译,可以看到工程中又新添加了测试程序,src下面是测试的源文件,.elf文件也已经产生。
选择Xilinx Tools->rogram FPGA,在弹出窗口可以看到.bit文件和.bmm文件,在下方elf文件栏下选择刚刚生成的.elf文件。
在Program之前要把Nexys3连接上电脑,并且上电,之后开始编程FPGA
测试程序开始运行了,串口可以监视到运行结果
8位开关‘0’‘1’状态由16位制的数值表示,4位按钮状态‘按下’‘弹起’也由一个16位制数值表示。Nexys3板上在按钮区中间一个按钮可以复位程序,重新显示采集的开光和按钮的状态值。
小结:
至此一个非常简单的嵌入式系统就建立完成了,测试程序显示工作正常,采用Xilinx的目标设计平台进行嵌入式系统的开发确实非常简单,而且集成了软硬件的综合设计。下次将试试在这个简单的系统上慢慢添加外设。
参考链接:
https://www.xilinx.com/support/documentation/spartan-6.htm
[url=https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,897&rod=NEXYS3]https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,897&rod=NEXYS3[/url] |
|