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