DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 356|回复: 0
打印 上一主题 下一主题

TMS320C6x DSP的软件开发和程序调试方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 20:11:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
    摘 要 主要介绍了TMS320C6x的软件开发的过程和程序调试方法,概括说明TMS320C6X调试器的基本功能和使用方法,对主要调试命令和不容易掌握的命令做了重点说明,并指出程序调试中应该注意的一些问题。熟练掌握调试开发工具对于加快DSP产品的开发速度是十分重要的。
  关键词 DSP TMS320C6x 调试器
1 前言
  从80年代美国TI公司推出第一代DSP TMS320C1x以来至今的十几年里,DSP已经得到突飞猛进的发展,目前TI公司已经推出了第三代DSP TMS320C6x和TMS320C8x,它们的性能价格比和开发手段都得到长足的进步,更加适合于开发者的需求。随着DSP的开发和应用的深入,DSP 在数字信号、信息与信号处理、通信与信息系统、自动控制、雷达、军事、气象、航天和航空、医疗和家用电器等等许多领域的应用将会更加广泛。
2 TMS320C6x的主要特点
  TMS320C6x是TI公司90年代中后期的最新一代DSP产品序列,它们是定点、浮点兼容的DSP序列,其中有先推出来的是定点序列 TMS320C62x,包括TMS320C6201和TMS320C6202两种,本文的作者采用‘C6201开发视频DSP产品,所以针对性介绍 ‘C62x。
  C62x DSP与以前TI公司或其它公司的产品相比,其有如下显著特点:
  .时钟频率最大可达200MHz,指令周期为5ns。
  .每秒最大的处理能力为16亿次定点运算即1600MIPS。
  .体系结构采用VLIW,片内八个并行处理单元,包括两个乘法器和六个算术逻辑单元,分为相同的两组。单个指令字长32位,八个指令组成一个指令包,总长度8 ×32位=256位。芯片内部设置了专门的指令分配模块,可以将每个256位的指令包,同时分配到8个处理单元并由8个单元同时进行。
  .采用加载/存储体系结构,数据在多个处理单元之间的传输靠32位通用寄存器;存储器寻址范围4G(32位),其中片内集成有l Mbit SRAM,被配置了两个部分:一是512k内部程序(部分根据需要可配置或cache )存储器;二是512k内部数据存储器。
  .32 位外部存储器接口。包括直接同步存储器接口,可与同步动态存储器(DRAM)、同步突发静态存储器(SBRAM)连接;主要用于大容量、高速存储器;还包括直接异步存储器接口,可和静态存储器(SRAM),只读存储器(ROM)连接,主要用于小容量存储器和程序存储;还有直接外部控制器接口,可与FIFO 寄存器连接,这是控制接口线最少的存储方式。因此C62x可方便地配置不同速度、不同容量、不同复杂程度的存储器。
  .TMS320C62x的指令集可进行字节寻址,获得8位/16位/32位数据,可提高存储器的利用率;指令集中的所有指令都是有条件执行指令,可以根据条件决定是否执行。
  .具有灵活的锁相环路时钟产生器(×1,×2,×4),可以对50MHz输入时钟进行不同的倍频处理。
  .双通信道自加载DMA协处理器,用于数据的DMA传输。
  .16位宿主机接口,可以配置为宿主DSP的加速器。
  .可加入IEEE1149.1试验的在线仿真器。
  .功耗低,使用DSP核的省电形式可以降低功耗。
  .采用0.25μm CMOS工艺,五级金属处理,352脚BGA封装。
3 TMS320C6 x的软件开发和调试
  随着TMS320C6 x的推出和开发应用的深入,TI公司为C6x提供了一系列的软件、硬件开发工具,极大地方便了C6x的开发,与其它DSP开发工具相比,具有相当的特点:
  .基于Windows的高级语言调试器;
  .基于C语言的系统调试器;
  .EVM支持软件系统;
  .优化的C语言编程器,符合ANSI C语言标准;
  .汇编器和链接器;
  .实时在线仿真器和高级软件模拟器;
  .较为完整的库函数等。
  TI公司在对C6x DSP的软件开发的问题上,为了便于广大用户在C62x系统上进行软件的开发,郑重推荐了针对C62x DSP软件开发的流程。图1表示TMS320C6x的开发流程图,图2则说明开发TMS320C6X的程序调试过程。


图1 TMS320C6x的开发流程图

[table]

[tr]
[td]
图2 TMS320C6x的程序调试方法流程图
4 TMS320C6x调试器的主要特征
  与其他DSP一样,采用C6xDSP产品进行产品开发,调试工具是必不可少的,随着TMS320C6x的推出的,TMS320C6x的C/汇编原代码调试器也随之产生。在实际开发中,TMS320C6x调试器与调试工具(软件开发系统、软件模拟器、开发板、仿真器等)配合使用,它能够提供给开发者开发、测试和优化C语言程序(优化时需要满足ANSI C标准 的C6x 优化器)和汇编的高级用户接口,它基于WINDOWS操作系统,具有十分友好的用户界面,用户调试面向窗口、支持鼠标或命令键入操作、具有许多菜单接口和随调试系统有在线帮助,提供帮助信息,使开发使用十分方便,TMS320C6x调试器的主要特征如下:
  (1)多级调试。调试器允许调试C代码和汇编代码,用户在调试C程序代码时,可以只察看C代码,也可以调试和察看汇编原代码。
  (2)全面配置、反映当前状态的面向窗口的用户接口。它可把代码、数据和命令采用不同的窗口来控制显示,用户图形接口非常直观,符合所用的WINDOWS操作系统的习惯。
  (3)综合数据显示。可以方便地创建窗口,显示和编辑变量、数组、结构、指针以及其它数据类型(如:浮点类型、整数型、字符型、枚举型和指针)的数据值。
  (4)在屏编辑。所有窗口显示的数据都可以方便通过输入命令或使用鼠标来修改。
  (5)自动屏幕更新。调试器可以更新所有窗口的显示信息,更新值用高亮度显示,很方便用户的跟踪调试。
  (6)动态调试。除了基本的调试环境外,‘C6x 的调试器还具有调试评估环境,调试评估能提供一种方法用来搜集调试评估代码指定范围的执行情况,直接为开发者反馈开发的应用系统的性能和帮助开发者指出程序代码的瓶径。
  (7)模块调试评估。除了具备调试器的基本特征外,'C6 x 调试器还可对采用仿真器的片内功能模块进行调试评估,以达到监视目标系统操作的目的,该工具与一般的简单设置软件断点的方法相比,它扩展了调试器的功能。
  (8)全面控制程序执行。它可采用条件执行、单步执行等来控制程序的执行,还可以用鼠标设置或清除断点,并且用户能定义和指定目标系统可以访问内存映像,调试还可以通过编写批处理文件来进行。
5 TMS320C6x的调试窗口
  TMS320C6x的调试窗口能够显示多种不同类型的窗口,窗口类型名称显示在窗口的左上角,按类型它可以划分为以下几类:
  (1)代码窗口。它显示汇编和C语言代码,有3种代码显示窗口:反汇编窗口——显示系统内存的反汇编代码;文件窗口——显示文本文件;过程调用窗口——调试C代码时显示跟踪运行当前和过去函数调用进程。
  (2)数据窗口。用来显示和修改不同类型的数据值,有3种数据窗口:内存窗口——显示有效范围内的内存内容,允许用户同时察看几个不同的数据段的值;CPU窗口——显示各寄存器的内容;观察窗口——显示已经选定的数据值。
  (3)命令窗口。可以键入各种命令,显示象进程、错误和命令输出等信息。
  (4)调试和调试评估窗口。显示代码执行的有关信息。
6 TMS320C6x调试器的功能及其使用方法
  TMS320C6x调试器具有12种基本功能,这些功能和命令可以通过鼠标、键盘输入命令字、功能键操作和用下拉式菜单实现。下面将详细阐述那些比较重要通常靠键盘输入的命令。调试器的功能和命令的用法说明如下:
  (1)管理多个调试器(PDM模式)
  TMS320C6x是一个真正的多处理调试系统,为TMS320C6x独有,它允许采用并行调试管理器(PDM)来调试程序,只需在命令窗口键入 prun、phaltsend,pesc,set,stat,@等等命令,它允许用户使用一组调试器,在多个处理器上运行代码,并且向一组调试器发送命令。
  (2) 模式改变
  在命令窗口键入asm、c、mix命令,可以在汇编、自动、混合3种模式之间切换。它也可以通过下拉式菜单来实现。
  (3)窗口管理
  通过键入move、size、win、zoom命令来激活窗口、更改激活窗口的位置和尺寸,也可以通过鼠标来实现。
  (4)显示和更改数据
  此类命令较多,用户可以显示和更改不同类型的数据项。主要命令有如下几点:
  .?命令观察和显示C代码变量的数值,如:
  命令     输出结果    注解
  ?j     4194425     ;观察变量j的值。
  ? j =0x5a;  90       ;观察内存地址05A的内容。
  ? A3             ;观察寄存器A3的数值。
  ? A3++            ;观察寄存器A3加1后的数值。[/td][/tr]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-26 06:56 , 耗时 0.085358 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表