如何创建一个新的软件应用
1.打开SDK,切换到c/c++界面下。(有两个界面,还有一个是Debug界面,在软件右上角处切换)
2.指定一个新的硬件平台项目
在SDK开发软件时,需要指定硬件平台。(如果你打开一个现成的SDK工作空间,这一步可以省略)如果SDK工作空间中没有指定,BSP新建窗口会弹出,询问你硬件平台。
---File > New > Other > Xilinx > Hardware Platform Specification
---Next, 显示新的硬件项目对话框。
---设定项目名称,以及由Vivado产生的硬件平台。
---Finish.
3.创建一个独立的板级支持包(Board Support Package )
---File > New > Board Support Package,打开对话框。
---指定新项目的名字(已初始一个默认的名称)
---从CPU下拉列表中,选择目标处理器
---从BSP OS下拉列表中,选择操作系统,默认是standalone(没有操作系统)
---Finish.弹出BSP设置对话框
---配置参数,生成一个BSP
---OK
4.创建应用项目
---File > New > Application Project
---指定项目名称
---选择OS
---选择目标硬件平台
---选择目标处理器
---选择编程语言
---选择一个现有的BSP,或者新建一个
---Next
---选择一个模板,生成一个可直接运行的软件工程
---Finish
如何调试一个软件应用
1.配置目标连接
如果你想用本地设备,你可以跳过这个步骤。
---确保设备和remote host相连接。
---在remote host上启动hw_server,通过执行hw_server.bat或者hw_server.csh文件。
---在‘Target Connection’下,单击“Add Target Connection”。
---在‘Target Name’中指定远程连接的名称。
---‘Set as default target’此项可选择。
---指定hw_server的ip地址和端口号。hw_server的默认端口号是3121。
---OK
2.调试应用
使用一个调试配置来调试目标硬件平台上的程序。如果已有一个调试配置,可以重复使用。否则就需要创建一个新的。
---Run > Debug Configurations.
---在左边的配置列表中,点击“Xilinx C/C++ application(System Debugger)”。
---点击Debug.
如何profile一个软件应用
在profile一个C程序之前,你应该已经创建了一个软件应用,并在目标硬件平台上运行了。
1.设置硬件
在profile软件应用之前,必须保证中断能周期性地触发以获得程序program counter的值。这需要在系统中有一个独立的定时器。如可查看呢?在Project Explorer中打开硬件平台标准文件(XML文件),点击硬件设计报告链接。查看系统中是否有一个和处理器直接连接的定时器,或者中间夹一个中断控制器。
2.设置BSP
---在Project Explorer中选择BSP
---右键,选择‘Board Support Package Settings’.
---点击操作系统名称,例如‘srandalone’,来配置它的参数。‘enable_sw_intrusive_profiling’为true,选择profile库需要使用的定时器。
---BSP应该使用 -pg编译参数进行编译。 单击‘drivers’,选择cpu驱动,在‘extra_compile_flags’中添加‘-pg’.
---OK
---Build(如果设置了自动构建,就不用手动构建了)
3.设置软件应用
---修改软件设置,来允许使用profile interrupts。更多细节,查看Help.
---右键软件应用,选择C/C++ Settings,(或者 Properties > C/C++ Build > Settings),改变工具设置中gcc编译器为Profiling,单击Enable Profiling(-pg),单击OK。
---Build(如果设置了自动构建,就不用手动构建了)
4.创建一个Profile配置
你需要创建一个profile配置,配置可以反复使用。
---在C/C++视图下,选择需要调试的应用。
---Run > Run
---在配置区域,展开 Xilinx C/C++ ELF.
---单击New。
---确保使用Profile配置选项产生的ELF文件在C/C++视图下被选中。
---在Profile Options下,做下面三件事情:
1>勾选Enable Profiling
2>默认采样频率和直方图尺寸的参数。
3>指定 Scratch Memory Address to Collect Profile Data,用16进制的形式。这是系统内存地址,而不是软件应用使用的内存地址。
---其他都默认,Run
5. Profiling the Application
当程序全部执行完,或者按下停止按钮,SDK会下载profile数据,并把它存在gmon.out文件中。
在Project Explorer下,打开gmon.out。SDK窗口下方自动打开profile视图。
如何调试一个软件应用
1.配置目标连接(与调试相同)
如果你想用本地设备,你可以跳过这个步骤。
---确保设备和remote host相连接。
---在remote host上启动hw_server,通过执行hw_server.bat或者hw_server.csh文件。
---在‘Target Connection’下,单击“Add Target Connection”。
---在‘Target Name’中指定远程连接的名称。
---‘Set as default target’此项可选择。
---指定hw_server的ip地址和端口号。hw_server的默认端口号是3121。
---OK
2.调试应用
使用一个调试配置来调试目标硬件平台上的程序。如果已有一个调试配置,可以重复使用。否则就需要创建一个新的。
---Run > Run Configurations.
---在左边的配置列表中,点击“Xilinx C/C++ application(System Debugger)”。
---点击Debug.
如何使用SPM工程(System Performance Model)
SPM工具提供了硬件和软件的早期exploration
1.创建一个新的SPM工程
File > New > SPM Project
2.加载一个SPM工程
从Projects列表上选择一个SPM应用。单击Finish
3.运行
单击Run.