首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
Zynq 7000从零开始之一 -- HelloWord
时间:
2015-01-21 10:19:34
阅读:
349
评论:
0
收藏:
0
[点我收藏+]
标签:
使用myir的z-turn开发板,做一个从uart打印hello world的实验,只用PS,不用PL部分,程序从SD卡启动,跑在PS的内部RAM.
zynq 7000的PS虽然也是CPU,但是开发方法不像普通的CPU只需要一个SDK就可以了,它还需要vivado硬件设计软件.
所以ZYNQ 7000的PS开发需要两个工具,一个是vivado--
另一个是SDK--
.
1. 打开vivado软件-->Create New Project,工程名和目录:
2. next->选RTL Project->Add Sources,Add existing IP和Add constraints界面直接点next
3. New Parts界面
4. 添加IP,在Flow Navigator的IP Integrator下点Create Block Design
Create Block Design如下,点OK
在Diagram界面点击Add IP
双击ZYNQ7 Processing System,添加CPU
5. 设置CPU
在Diagram界面点击Run Block Automation,不做修改,点Finish就可以。在Diagram界面双击
进入设置界面,我们把所有的接口去掉,只留下FIXED_IO.
1> PS-PL Configuration->General->Enable Clock Resets->去掉FCLK_RESET0_N
2> PS-PL Configuration->GP Master AXI Interface->去掉 M AXI GP0 interface
3> Clock Configuration->PL Fabric Clocks->去掉FCLK_CLK0
4> DDR Congiguration->去掉Enable DDR
5> 设置SD和UART引脚
MIO Configuration->Bank1 IO Voltage选LVCMOS 1.8V.
MIO Configuration->IO Peripherals->选上SD 0, SD 0的引脚配置:
MIO Configuration->IO Peripherals->选上UART 1, UARRT 1的引脚配置:
6. 点击OK返回Diagram界面, 把DDR接口删掉,配置之后的界面
7. 生成设计文件
右击system项->Generate Output Products->直接点Generate, 之后会提示文件生成成功.
右击system项->Create HDL Wrapper
选下面一项,点OK
注意:如果重新修改了CPU配置,上面两个步骤一定要重新实行。
8. 导出硬件设计文件到SDK
导出前要确保Block Design是打开的,即Diagram界面要打开
File->Export->Export Hardware->直接点OK,这样会把硬件文件system_wrapper.hdf导到helloword.sdk文件夹下,SDK工程
也在该目录下.
9. 启动SDK
File->Launch SDK->直接点OK
SDK启动后就自动添加了硬件相关的工程,
system.hdf是system_wrapper.hdf文件的copy
ps7_init.tcl是PS初始化的TCL脚本,PS不能执行TCL脚本,所以将该脚本转换为了C文件--ps7_init.c和ps7_init.h.
前面用vivado的硬件设计就是为了生成这两个文件,ps7_init.c主要初始化CPU的时钟,引脚复用,ddr和外设等。后面
的helloword工程只需要这两个文件,其他的文件都不需要。
10.添加helloword工程
在SDK中->File->New->New Application Project->设置如下,点next->选hello world
11. 修改源码
多了两个工程,一个是app,另一个是bsp.发现SD V2.3驱动有问题,将其退为2.2.
在helloword_bsp工程下打开system.mss文件,点击左下角的source,修改sd驱动版本为2.2
修改之后重新生成BSP源码,点system.mss左下角的overview->Re-generate BSP Sources
将ps7_init.c和ps7_init.h copy到helloword/src目录下,也可以创建连接,这里就直接copy了.
修改helloword/src/platform.c
--init_platform函数,将ps7_init()函数的comment去掉,
--包含头文件#include "ps7_init.h"
12. 编译代码->project->Clean->OK
13. 生成boot.bin启动文件
右击helloword工程->Create boot Image->Create Image
注意,helloword.elf前面的bootloader一定要出现,表示该文件是bootloader,启动后运行的第一个文件,
可点edit来修改.
13, 将生成的BOOT.bin文件copy到SD卡(已用HP USB Disk Storage Format Tool格式化成启动盘),启动,从串口可看到打印信息.
Zynq 7000从零开始之一 -- HelloWord
标签:
原文地址:http://blog.csdn.net/luoqindong/article/details/42963565
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!