赞
踩
嵌入式开发流程
只有PS部分
创建vivado工程
并修改工程名称、路径
选择RTL工程
7010核心板 选择Zynq型号 XC7Z010CLG400-1
查看summary部分内容
即创建一个模块化设计
查看,system.bd
右键添加IP
搜索关键词ZYNQ, 双击打开
查看PS模块示意图
DDR
Fixed_IO
M_AXI_GP0
FCLK_CLK0 (是PS给PL提供的时钟信号)
FCLK_RESET0_N
M_AXI_GP0_ACLK (是M_AXI_GP0的时钟信号)
外设并未在上面的图片展示。
双击PS模块之后,可以查看到内部结构:
选择一个与自己DDR兼容的型号!
MT41256M16-RE125
解析:
MT 美光
16 数据位宽16bit
容量256M * 16 = 4096M = 4Gbit
如果用来2块ddr3,则4G*2 = 8Gbit
因为用了2块16bit数据位宽的DDR,所以一下有效数据位宽选择32bit
以上DDR就配置ok了。
根据硬件原理图查找io对应关系
PS_MIO14 RX
PS_MIO15 TX
选择相应MIO
MIO选择也可以在MIO Configuration中选择,
配置uart0的波特率
Bank500是3.3V
Bank501是1.8V
最终配置如下
配置完成后点击ok
如果不需要M_AXI_GP0,则取消如下选项
查看原理图,查找 输入(源时钟)PS_CLK_500时钟频率:33.333333Mhz
CPU时钟
DDR时钟
如果不需要PL,则取消勾 选FCLK_CLK0
如果不需要PS对PL的复位信号,则取消勾 选FCLK_RESET0_N
最终得到最小系统如下:
点击RUN BLOCK AUTOMATION,自动创建模块端口。
创建完成,如下:
如下:
生成输出结果,如下:
选择默认选项,IP核独立进行输出;
生成结果:
综合
实现
仿真
管脚分配约束如下:
选择默认选项,如下:
生成system_wrapper, 内容是顶层fpga代码
导出硬件描述文件
是否包含PL bit,如果需要选择上
生成文件目录
可以用解压缩文件,解压查看
启动软件开发工具
保持为当前工程路径
启动sdk
创建sdk工程
设置工程名称
选择空的工程模板
创建生成的代码, 如下
第一个是软件应用,
第二个是bsp是硬件和软件应用中间的支持包.
创建main函数
串口打印添加
下载验证,如下:
感谢阅读,祝君成功!
-by aiziyou
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。