码迷,mamicode.com
首页 > 其他好文 > 详细

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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!