查看: 16049|回复: 3

一步一步学ZedBoard & Zynq(一):ZedBoard的第一个工程Helloworld

[复制链接]
  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-12-28 14:33:04 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 xinxincaijq 于 2013-1-9 10:26 编辑

    一步一步学ZedBoard & Zynq(一):ZedBoard的第一个工程Helloworld
    转自博客:@超群天晴 http://www.cnblogs.com/surpassal/
    Zed板上的Zynq是一个ARM PS(processing system, 双核A9 + 存储管理 + 外设)+ PL(programable Logic) 结构,如果不使用PL,zynq的开发和普通的ARM 开发一样。不同的是ARM PS是可配置,因而硬件信息是不固定的。这也是zynq灵活性的一个表现。  


    这是本系列的第一篇,因而会给出详细步骤的截图。
    更多更新请关注我的博客:@超群天晴 http://www.cnblogs.com/surpassal/
    硬件平台:Digilent ZedBoard
    开发环境:Windows XP 32 bit
    软件:PlanAhead 14.1 + XPS 14.1 + SDK 14.1

    一、配置硬件信息
    启动PlanAhead,进入新建工程向导
    图片1.jpg
    选择工程名和路径
    图片2.jpg
    工程类型,这里选择 RTL 工程
    图片3.jpg
    由于只需要PS部分信息,而这部分在后面由XPS完成,因而不需要添加任何文件
    图片4.jpg
    一直点下一步,直道出现芯片和板载信息。直接选择Boards,选择系列是Zynq-7000。14.1目前只支持XC7Z020器件。
    图片5.jpg
    完成新建工程向导
    图片6.jpg
    PlanAhead进入工作视图,在Project Manger中选择建立的工程,右键,Add Sources
    图片7.jpg
    选择 Add or Create Embeded Sources
    图片8.jpg
    单击 Create Subdesign
    图片9.jpg
    输入需要建立嵌入系统名称,这里填duocore
    图片10.jpg
    图片11.jpg
    确定后,提示所建立的工程是一个Zynq工程,提示是否添加PS到系统。点确认。
    图片12.jpg
    XPS会被启动,可以看到Zynq的配置界面。Diligent公司做好了一套配置方案,从其网站上能下载到配置文件:
    图片13.jpg
    mport这个配置文件,点“+”找到文件位置后,点OK
    图片14.jpg
    可以看到配置后的结果,同时MHS和UCF文件也被修改。其中有颜色标记为使用,没有颜色标记表示没有使用。可以对其修改,这是对应ZedBoard的硬件接口,保持默认就可。
    图片15.jpg
    至此,硬件配置结束。关闭XPS,切换到PlanAHead。可以看到duocore.xmp已经加入到工程中。

    在硬件配置文件duocore.xmp上右键,选择Create Top HDL,生成顶层HDL文件
    图片16.jpg
    可以看到生成的duocor_stub.v文件
    图片17.jpg
    最后一步,将硬件信息导入到SDK。File->Export Hardware
    图片18.jpg
    为了方便管理,软件workspace放在software目录下。
    图片19.jpg
    二、建立软件工程
    Export结束后,会自动启动SDK。界面如下。可以看到工程浏览器Project Explorer中已经有一个硬件平台duocore_hw_platform,里面有一系列配置和初始化文件。不要修改这些文件。
    图片20.jpg
    新建Xilinx C 工程。
    图片21.jpg
    新工程建立向导。这里我们建立最简单的测试工程helloworld。
    图片22.jpg
    修改源代码。将工程源文件内容修改,如下
    图片23.jpg
    1. 1 #include <stdio.h>
    2. 2 #include "platform.h"
    3. 3
    4. 4 void print(char *str);
    5. 5
    6. 6 int main()
    7. 7 {
    8. 8    init_platform();
    9. 9
    10. 10     print("Hello World from Zynq\n\r");
    11. 11     print("这是Zynq ARM 测试\n\r");
    12. 12     print("2012年9月8日14:30:48\n\r");
    13. 13     print("荣超群\n\r");
    14. 14    cleanup_platform();
    15. 15
    16. 16     return 0;
    17. 17 }
    复制代码
    至此,工程建立完成

    三、编译和下载
    给ZedBoard上电,将启动模式设置为Jtag启动,将mini USB下载线接上,并将mini USB to Uart接上。
    图片24.jpg
    启动电脑上的超级终端,配置串口和波特率,115200
    图片25.jpg
    右键工程hello_world_0,build,编译工程。
    右键工程hello_world_0,run->run configuration,打开下载配置界面。双击Xilinx C/C++ ELF,建立新的下载配置。默认即可。
    图片26.jpg
    点run,开始下载。等待下载完成,可以看到ZedBoard向超级终端发来的信息
    图片27.jpg

    =======================================
    工程下载: project_4.rar (965.28 KB, 下载次数: 262)
    回复

    使用道具 举报

    该用户从未签到

    发表于 2012-12-28 17:30:43 | 显示全部楼层
    竟然没人抢沙发,难得,我的了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2013-3-21 11:34
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2012-12-28 19:04:01 | 显示全部楼层
    一个板子要耗费3K左右,这玩意估计一般人玩不起,太高端了……
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-14 13:12
  • 签到天数: 180 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2012-12-28 19:11:56 | 显示全部楼层
    过程非常相信~~顶~~楼主辛苦了~~
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-23 03:52 , Processed in 0.143547 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.