原创 【博客大赛】Zynq构建SoC系统深度学习笔记-01-利用IP集成器构建嵌入式SoC系统(10)

2016-1-23 18:06 1631 17 17 分类: FPGA/CPLD 文集: Zynq构建SoC系统深度学习笔记

【声明】纯属原创,未经允许,禁止转载。

 

4.5 下板测试

    硬件和嵌入式软件都设计完毕,并且编译成功之后,就需要下板测试了。
    首先保证硬件电路连接正确,下载器驱动安装正确,开发板上电。
    Vivado + SDK + Zynq环境中的下载方式与XPS + SDK + VII Pro中的下载方式不同,在VII Pro时代,需要将保存在Block RAM中的嵌入式软件,编译到BitStream文件中,只需要下载一个BitStream文件,则所有的硬件配置和软件程序就都下载到板子里了。
    但是在Vivado + SDK + Zynq环境下,软硬件是分开的,需要先下载BitStream文件,构建好SoC硬件系统,再像普通ARM开发一样下载嵌入式软件。
    因为前面讲硬件的BitStream文件也导入到SDK中,因此可以在SDK中执行BitStream文件的下载工作。
    工作的操作入口可以通过菜单或工具栏,具体如下所示:
图片154.jpg
图片155.jpg
 
    但是在工具栏中发现一个按钮,提示显示的是“Scan Repositories”,猜想类似与JTAG链扫描,但是点击完了没有反应,无论是console页面还是terminal页面都看不到反馈的信息。
图片156.jpg
    运行Program FPGA操作之后,显示如下提示对话框,用于选择欲下载的bit文件。如果工程配置没有问题,采用默认的即可。点击“Program”按钮进行下载。
图片157.jpg
 
    下载嵌入式软件主要工作依赖于Run菜单。其中Run是直接下载嵌入式软件,然后另嵌入式软件直接运行。
图片158.jpg
    也可用工具栏上的按钮。
图片159.jpg
    第一次下载时必须先执行“Run Configurations...”
图片160.jpg
 
    弹出“Run Configurations”对话框如下所示:
图片161.jpg
 
    在左侧“Xilinx C/C++ application(GDB)”项目上单击鼠标右键,在弹出菜单中选择New,创建一个新的配置。
 
(1)“Target Setup”是配置开发板的硬件信息,其中Hardware Platform项和Processor项默认是已经配置好的。一般保持默认即可。
    【重点】需要配置Initialization file项,如果不配置该项,将来嵌入式软件下载完后,没法正常进行zynq子系统的初始化,也就没法正常开始运行程序,而且到时候SDK软件还会显示有一个业务正在运行,因为Zynq没有复位,无法接收SDK的任何指令,使得整个开发环境都卡在哪里,只能重新启动SDK。因此切记,一定要配置这里。
图片162.jpg
    点击Initialization files项的Search...按钮。弹出如下对话框,选择“ps7_init.tcl”,点击OK按钮。
图片163.jpg
    如果,在Target Setup页面中下图所示的位置,默认是什么都不选的
图片164.jpg
    如果保持默认,发现下载完后,显示如下错误。表示系统没有激活。
图片165.jpg
    如果此时重新下载,会显示如下异常。
图片166.jpg
 
    此时整个SDK的开发环境就堵死在那里了,只能关闭SDK软件后,重新再开启SDK软件,才能重新下载程序。
    为了保证Application下载后能够正常激活,需要配置成如下情况。
图片167.jpg
 
    后来经过测试,这个配置只有在bitStream配置之后的第一次下载Application是才需要配置,如果不在更新下载BitStream文件,只是不断更新下载Application时,后面几次的Application下载并不需要必须勾选这两项,但是为了同意建议,勾选这两项成为必选项。
 
 
 
(2)“Application”是配置欲下载的嵌入式软件信息,默认是空的。需要自行配制。
图片168.jpg
    点击Project Name项后方的“Browse...”按钮,弹出如下对话框。
图片169.jpg
    选择需要下载的嵌入式用户工程,可以看到,可以编写多个用户工程,在这里选择具体是哪个工程会下载到开发板上。
    双击选中的工程,或选中工程后,点击OK退出Project Selection对话框。
    可以看到“Application”页面内会自动配置好.elf文件。点击“Apply”按钮保存配置。
图片170.jpg
 
(3)“STDIO Connection”页面,用于配置嵌入式软件中stdio.c文件中定义的数据输入输出的物理通道,在我们设计的系统中,可以用的只有串口,因此可以加你给串口配置给STDIO。勾选“Connect STDIO to Console”,顾名思义,就可以利用SDK中的Console窗口显示开发板通过串口发送来的信息,不用再额外开一个串口助手软件了。
图片171.jpg
    其中Port需要根据电脑的配置查看USB转串口得到的串口编号。
    Baud Rate:是串口波特率,这个9600是在进行Zynq子系统的Block Design设计时设定的。
 
(4)“Profile Options”和“Common”页面现在还没有深入的认识,暂时不管它们了。
    所有配置完毕后,点击“Apply”进行保存。
    点击Run开始按照保存的信息向开发板中下载嵌入式程序。
 
    下载成功之后,可以看到SDK的Console页面会切换的一个新的回话,点击Console页面右侧的工具按钮,会显示当前工程中已经打开了多少个Console会话窗口。
图片172.jpg
 
    在当前的Console会话的名称为:
    New_configuration[Xilinx C/C++ application(GDB) E:\--- 路径--\AzSysApp.elf] [Console connected to COM7,9600 Baud]
    在该窗口下能够看到开发板通过串口输出的数据。
 

文章评论0条评论)

登录后参与讨论
我要评论
0
17
关闭 站长推荐上一条 /2 下一条