![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| Blackfin处理器的调试功能对成功设计的作用 | |||||
作者:David Ka… 文章来源:EDN 点击数: 更新时间:2006-9-30 ![]() |
|||||
|
软件工具 软件工具在系统开发过程中起到两个重要作用。第一,软件工具允许在订制的硬件提供之前开始开发工作。它能够从功能角度对算法进行仿真,同时能够利用精确周期内核仿真,在开发过程的初期对性能进行评估。 Blackfin 处理器VisualDSP++工具套件提供几项主要功能,允许软件开发商预测最终目标能够达到的性能。因为Blackfin处理器体系结构从根本上支持高效编译代码,因此大多数开发项目能够用C或C++完成。这项功能允许在项目开始的时候将现有的代码基快速整合到该项目中。这样就能利用很多设计结果而无需探究体系结构细节。 一旦初始项目建立起来,程序员有几种仿真选择,允许在周期精度和仿真速度之间灵活地折衷。VisualDSP++开发工具提供代码运行时间统计分析功能,作为其仿真器和模拟器的一部分。该工具允许程序员看到一个应用程序不同部分的运行时间是如何分配的,从而为优化工作提供方向。 即使Blackfin编译器的性能对于信号处理应用和MCU应用(低周期数和低字节数)都是杰出的,但是总是有一部分代码需要利用基于汇编语言的程序库进一步优化。虽然这种情况在大型开发项目中不常见,但是VisualDSP++仿真器提供了流水线查看器以便用图形方式识别失速(停止),从而进一步优化。由于Blackfin指令流水线是互锁的,因此失速不需要程序员手动跟踪和管理。即使如此,这种查看重要部分代码失速的能力通常允许程序员能够进行小调整从而实现对周期数的极大改进。 该仿真器的另外一个便捷功能是高速缓存查看器。由于始终存在系统设计工程师必须对片内和片外存储器大小进行折中的问题,所以对于预测如何根据指令流程完成高速缓存以及显示实际上如何访问数据,高速缓存查看器能起到非常重要的作用。(查看器语句示例如下) <Translation of graphics> VisualDSP++ Debug Tools Aid Code Optimization=VisualDSP++ 调试工具辅助代码优化 Pipeline viewer finds stalls in critical sections of code= 流水线查看器发现关键部分代码失速 Cache viewer helps programmer understand cache efficiency (hits and misses)= 高速缓存查看器帮助程序员了解高速缓存效率(命中率和缺失率) Code profiler shows where most time is spent during program execution= 代码运行时间分析器显示在程序执行期间何处耗时最多 硬件平台 一旦整个系统经过仿真,算法和大多数外设都可以利用低成本的EZ-KIT Lite评估平台操作。EZ-KIT评估平台为开发商提供一种评估Blackfin处理器的方法,该处理器适合多种应用,例如音频、视频和其它处理计算量很大的算法。例如,ADSP-BF533 EZ-KIT Lite评估平台包括视频和音频解码器和编码器,以及板上SDRAM(32Mb)和闪存(2Mb)存储器。另外,可设置的标志引脚能够连接到按钮和LED。 USB调试器接口允许利用简单的USB接口连接到评估板,如果直接访问VisualDSP++ PC主机上的工具套件,为了提高性能,JTAG在线仿真器能够很容易连接到评估板。 可提供的ADSP-BF533 EZ-KIT 评估平台的EZ-Exterder 子卡允许开发商能够连接多个高速数据转换器评估板(ADC、DAC和混合信号转换器),CMOS图像传感器评估板和一些TFT LCD显示器。它还能为电路配置提供试验板区域,并且几乎可以为Blackfin处理器的每一个引脚提供检测。 芯片内置功能 Blackfin处理器的体系结构为设计工程师提供了内置硬件调试的附加功能。这些功能包括性能监视器、周期计数器、监测单元和跟踪单元。 性能监视器 Blackfin处理器系列中的每一种处理器都有两个寄存器,它们能够通过编程对特定“中心性能”事件的发生次数进行计数。下表总结了能够跟踪的独立事件。 开发商可以利用性能监视事件来发现优化处理器的重点区域。通过性能监视器提供对芯片中实际发生事件的观察力,而不是通过仿真预测这些事件。 我们以数据访问高速缓存和指令访问高速缓存性能为例。性能监视器根据数据和指令访问高速缓存缺失率提供实际信息。知道了高速缓存缺失率,程序员能够利用VisualDSP++ Expert Linker开发工具交互地移动存储器中的数据和指令以实现最优性能。 性能监视器如何能帮助处理器的另外一个有效实例是当访问内部存储体时采用内核和DMA(直接存储器访问)引擎相互作用的方式。Blackfin处理器有一个集成的DMA控制器,它能够高效的移动数据无需与内核相互作用。内核安排数据传输,并且当数据缓冲器准备好处理时通知内核。处理器内核和DAM控制器能够在同一周期内访问不同的子存储体。当它们试图在同一周期内访问同一子存储体时,其中一种访问必须停止。在一个采用与多个DMA通道访问相并联的巨大的内核存储器访问的复杂系统流程中,知道什么时候DMA和(或)内核由于试图访问相同的子存储体而停止是非常重要的。性能监视器对这些事件计数以便开发商能够优化存储器中的数据分配。 周期计数器 Blackfin处理器体系结构还提供一个64 bit的周期计数器,用于对内核时钟周期计数。该周期计数器跟踪所有的执行周期,包括流水线活动,例如失速。它是用来确定一个给定算法的执行时间的极好工具。我们将周期数除以处理器内核的时钟速度,很容易将周期数转换成时间。Blackfin处理器的内核仿真器是周期精确的,所以从仿真器读取的周期数设计成与工作在内部1级存储器时从实际硬件测得的周期数相匹配。 |
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|