跳转到主要内容
--## 电子创新网图库均出自电子创新网,版权归属电子创新网,欢迎其他网站、自媒体使用,使用时请注明“图片来自电子创新网图库”,不过本图库图片仅限于网络文章使用,不得用于其他用途,否则我们保留追诉侵权的权利。 ##--

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
judy 提交于

本文作者:AMD 工程师 Kevin Morris

随着 AMD Vitis™ 统一软件平台 2021.2 的发布,Vitis 引入了一个 Tcl 脚本,用于在应用程序运行的特定时间点协助查找栈和堆的内存使用情况。该脚本已延续到后续的 Vitis 版本,并在 Unified IDE 中仍可使用。本文涵盖了如何在 Vitis 中使用分析工具在应用程序调试期间对栈和堆进行监控。

以下提供了使用此脚本在调试期间实时收集栈和堆的使用情况的指示信息。

要求:

  • 当前在硬件上正在运行的应用程序

  • 已打开 Vitis 终端或 GUI(XSCT/XSDB 控制台),并且可通过它来访问正在运行硬件

步骤:

运行应用程序调试,直至第一个断点(通常为 Main 函数)为止。

在 XSCT/XSDB 终端中,使用 Source 命令运行安装路径下的内存脚本:

1.png

以下是可使用的命令:

2.png

利用您的 .elf 文件运行初始化。这样会返回栈和堆的地址位置及其大小:

3.png

注释:您可以使用 GUI 右键单击自己的 ELF 文件、选择“Copy Path”(复制路径),然后将其粘贴到终端中以获取完整路径。

如果愿意,您现在即可运行“mem analyze”,这样即可看到在应用程序启动时使用率为零 (0%):

4.png

运行您的应用程序直至断点,或者步进调试。为了获得最准确的结果,请在应用程序中运行一段覆盖大多数情况的序列。然后,运行以下命令:

5.png

这样会读出应用程序中当前栈和堆的大小(字节数)和使用量(字节数)以及使用率(百分比):

6.png

这有助于判断您的应用程序是否已根据您的需求使用了适当的内存量。 

文章来源:Xilinx开发者社区

精彩推荐

2026英伟达GTC大会专题

CES 2026(国际消费类电子产品展览会)专题

第四届南渡江智慧医疗与康复产业高峰论坛

第十五届松山湖中国IC创新高峰论坛

第四届滴水湖中国RISC-V产业论坛

Recent comments

  • 1873774516_516738
  • 2460440665_516737
  • 1457585548_516736
  • 780289498_516735
  • 2283262460_516734