欢迎来到天天文库
浏览记录
ID:27508012
大小:1.18 MB
页数:8页
时间:2018-12-04
《7000 芯片Linux下的SPI接口与驱动配置.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、7000芯片Linux下的SPI接口与驱动配置 本文将介绍如何利用Vivado和petalinux开发Zynq7000系列芯片的SPI外设接口。 开发环境:Vivado2015.4Petalinux2015.4 一、硬件工程的搭建1.打开vivado开发环境,新建工程,并选择你所使用的芯片型号(本文使用xc7z045ffg900-2这款芯片);2.点击“CreateBlockDesign”创建一个新的工程桌布,在其中添加IP,将ZYNQ7芯片IP添加进来; 图1ZYNQ7IP 3.双击ZYNQ7芯片IP,点击界面左边的PeripheralI/OPins
2、对芯片的引脚进行配置,分别点击“QuadSPIFlash”、“Ethernet”、SPI0最右边的“EMIO”和“UART1”对这些外设引脚进行使能; 图2外设引脚配置 4.打开“DDRConfiguraTIon”页面,点击“DDRControllerConfiguraTIon”,然后点击下拉菜单,选择你所使用DDR类型,本文选用MT41J256M8HX-15E这款DDR芯片,如图所示; 图3DDR配置 5.DDR配置完成后,退出ZYNQ配置界面,点击ZYNQ7IP中的SPI引脚,选择相应的IO端口,右键点击并选择MakeExternal将引脚向外引
3、出。 图4向外引出引脚 6.所有SPI相关引脚引出后,如下图所示,点击autoconnetcion将DDR与FIXED两个引脚引出; 图5配置DDR和FIXED引脚 7.引脚配置完成后,在顶层文件中对ZYNQ7这个IP进行例化,在“source”界面栏中双击顶层文件,打开硬件代码编辑器; 图6顶层代码 8.在右边的顶层.v代码中添加spi相关的端口和例化代码,添加的代码如下所示(由于本例中只使用到了spi的四个接口,因此在例化spi接口时,只用到了其中的四个,其它的悬空或直接输入高低电平); 图7添加接口和例化代码 9.代码添加完成后
4、,对工程进行综合(synthesis)和布局(implementaTIon),综合和布局通过完成后,对管脚进行约束,点击“openimplementaTIon”打开布局结果,点击最上方的“Windows”选中“I/OPorts”,对SPI的外部接口进行约束(根据原理图中接口的连接,选中对应的硬件管脚); 图8管脚约束 10.管脚约束完成后,重新对工程进行Implementation;11.最后点击“GenerateBitstream”生成bit文件;12.点击“File”—“Export”——“ExportHardware”导出硬件工程; 二、硬件工程的搭
5、建1.在Linux中,利用petalinux创建一个Zynq工程;2.利用petalinux-config–get-hw-description命令将刚才vivado下所生成的硬件工程.hdf文件导入到软件工程中;3.利用petalinux-config–ckernel对内核进行裁剪,选中驱动中的SPI驱动如图; 图9勾选上SPI驱动 4.利用petalinux-build工具编译整个工程,然后利用petalinux-package生成BOOT.bin文件;5.利用硬件平台或QEMU启动Linux系统,即可在系统中看到spi驱动 图10Linux下的S
6、PI驱动
此文档下载收益归作者所有