0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

赛灵思SDSoC 系统功能开发介绍

Xilinx赛灵思官微 来源:djl 作者:赛灵思 2019-07-30 15:45 次阅读

SDSoC 开发环境

SDSoC是 Xilinx 旗下用于设计开发 Zynq SoC 和 MPSoC 异构嵌入式系统的基于 Eclipse 的集成开发环境,可以完成从 C/C++ 到指定目标平台上功能完整的硬件/软件系统的编译、实现、调试执行等全过程。

由 SDSoC 产生的系统是高性能的,同时也是复杂的硬件/软件协同工作系统。要了解在这样的系统中应用程序的执行过程是比较困难的,因为你需要同时关注在处理器上运行的软件部分和在硬件可编程逻辑上执行的加速部分,以及数据在二者之间的传递过程和顺序等。

Trace (事件追踪) 功能

2015.4 版的 SDSoC 中新增了一个功能,叫做 Trace,即事件追踪功能,可以帮助设计开发人员深入了解应用程序的执行过程中整个系统上发生了哪些事件以及发生的顺序,用户可以以此为依据进行系统优化。

Trace 提供的是一个详细视图,用户可以在其中观察应用,硬件/软件分区和系统设计选择的性能,它提供的是一个以时间轴为单位而量化的事件追踪,包括在理器上运行的软件事件,在可编程逻辑上运行的硬件加速事件和在系统中的数据传输链路事件。

由于需要读取上板应用的数据,要启动事件跟踪,用户必须将开发板经由 JTAG 连接到主机。

在 SDSoC 中启动 Trace 后,事件追踪功能就会被自动插入到软件代码和硬件 IP 中。然后,硬件部分(包括完成事件追踪功能的监控 IP)经过综合和布局布线,产生比特流,而软件跟踪代码则被编译到普通用户应用中。硬件和软件的事件追踪时间戳被收集到了一个追踪流中,并且以在可编程架构中缓存的方式记录下来,由主机通过 JTAG 访问并读回数据。

下图橙色高亮的部分,就是应用 Trace 功能后 SDSoC 自动插入的监控 IP,用以完成和记录事件追踪功能。

 赛灵思SDSoC 系统功能开发介绍

收集事件追踪数据的接口根据不同的操作系统而略有不同。对于 Standalone 和 FreeRTOS 操作系统,用户程序 ELF 使用 USB / JTAG 接口下载到电路板上进行配置和调试,断点也是经由了同样的 USB / JTAG 接口而插入,事件跟踪的数据采集,也是在相同的 USB / JTAG 接口上读取。

对于 Linux,一旦操作系统经由 SD 卡启动,ELF 已经复制后,便可以经过 TCP/TCF 运行调试,断点也可以经由 TCP/TCP 插入,但事件跟踪的数据仍然需要通过 USB / JTAG 接口读出。换句话说,要在 Linux 应用程序上启动事件追踪, USB / JTAG 和 TCP / TCF 接口都需要。

Trace 视图

下图所示就是 SDSoC GUI 提供的 Trace 视图。用户应用程序的每个跟踪事件被赋予一个唯一的轨迹名称,并且对应到同一个时间轴。通常,一个跟踪点可以通过应用程序的执行创建多个轨迹,例如,如果相同的代码被循环执行,或者在加速器中被多次调用。

 赛灵思SDSoC 系统功能开发介绍

每个事件追踪轨迹都有几个不同的属性:名称,类型,以及启动,停止和持续时间。如果将鼠标悬停在某个轨迹上,就可以看到这个轨迹的详细属性。Trace 视图中以不同的颜色区别不同类型的轨迹,例如橙色代表软件事件追踪,绿色代表硬件事件而蓝色代表数据的交互。

 赛灵思SDSoC 系统功能开发介绍

关于 Trace 更详细的介绍和分步骤教程,请关注 SDSoC 安装目录下的 docs 目录,其中有一个 SDSoC_Trace2015.4.pdf 文档可供参考。

由于 Trace 是在 SDSoC 2015.4 版首次发布,且目前还处于 Beta 阶段,其仅能完成有限的事件追踪功能,我们将在以后的版本中不断完善,提供更全面的追踪功能。敬请关注。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 赛灵思
    +关注

    关注

    32

    文章

    1794

    浏览量

    131263
  • 可编程逻辑
    +关注

    关注

    7

    文章

    515

    浏览量

    44083
收藏 人收藏

    评论

    相关推荐

    和戴姆勒宣布将共同开发基于Xilinx AI技术的车载系统

    和戴姆勒今天宣布,两家公司正强强联手采用汽车应用领域的人工智能 (AI) 处理技术共
    的头像 发表于 06-27 17:54 9111次阅读

    FPGA是用altera多还是的多呢

    FPGA是用altera多还是的多呢,我买的开发板是altera的,但是很多人推荐说学习
    发表于 01-09 21:27

    Xilinx方案

    能做方案的,请联系
    发表于 01-21 19:31

    如何利用28纳米工艺加速平台开发

    全球可编程逻辑解决方案领导厂商公司 (Xilinx Inc.) 宣布,为推进可编程势在必行之必然趋势,正对系统工程师在全球发布
    发表于 08-09 07:27

    如何使用FPGA加速包处理?

    FAST包处理器的核心功能是什么如何使用FPGA加速包处理?
    发表于 04-30 06:32

    关于Xilinx发布的全可编程SoC和MPSoC的SDSoC开发环境介绍

    公司进一步丰富其SDx产品系列,并持续将用户群拓展至更广阔的系统及软件工程师社区 推出面向全可编程SoC和MPSoC的SDSoC
    发表于 10-06 11:53 533次阅读

    与戴姆勒联袂开发AI解决方案

    和戴姆勒公司(Daimler AG)今天宣布,两家公司正强强联手采用汽车应用领域的人
    的头像 发表于 06-29 11:07 3304次阅读

    推出2.1版实时视频引擎,加速视频分析功能开发

    公司广播和消费市场总监Ben Runyan表示:“RTVE 2.1是与OmniTek
    发表于 07-24 16:06 822次阅读

    收购深鉴科技_收购目的及发展

    本文首先介绍,其次介绍
    的头像 发表于 07-18 11:19 4906次阅读

    和戴姆勒达成合作 正推出新车载系统

    (Xilinx)和戴姆勒正在联合开发一种车载系统,使用
    发表于 07-23 09:15 783次阅读

    Xilinx正式版SDSoC开发环境可实现嵌入式C/C++语言应用开发

    SDx软件定义开发环境系列成员之一,包括扩展库、开发板、设计服务生态系统支持,可实现嵌入
    发表于 08-21 09:32 2775次阅读

    SDSoC 开发教程

    在本次研讨会中,的专家们将通过一个完整的流程案例,手把手教你如何针对一个硬件优化的系统将 C 代码进行优化。同时还将为您介绍
    的头像 发表于 08-01 14:21 1873次阅读
    <b class='flag-5'>赛</b><b class='flag-5'>灵</b><b class='flag-5'>思</b><b class='flag-5'>SDSoC</b> <b class='flag-5'>开发</b>教程

    将Zynq SoC用户扩展至广大的系统和软件工程师社群

    SDSoC开发环境让我们可以通过在单个熟悉的框架中结合我们基于HDL的logicBRICKS IP核和用C/C++语言实现的高级视觉
    的头像 发表于 07-31 14:19 2378次阅读
    <b class='flag-5'>赛</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>将Zynq SoC用户扩展至广大的<b class='flag-5'>系统</b>和软件工程师社群

    发布面向全可编程SoC和MPSoC的SDSoC 开发环境

    lon公司创始人兼CEO Davor Kovacec指出:“利用的新型SDSoC开发环境,并结合使用面向嵌入式图形视频的MicroZe
    的头像 发表于 07-31 15:02 3027次阅读

    Xilinx SDSoC开发环境的特色功能和应用演示

    Xilinx SDSoC 开发环境可通过两种方式加速Zynq SoC 和MPSoC 开发进程。第一种是,软件开发人员借助
    的头像 发表于 07-02 10:18 2580次阅读