当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于DSP TMS320F206的仿真调试

 TMS320F206(以下简称F206)是C2XX系列DSP中的一个产品,其独有的片内32KB的闪速存储器FLASH使其仿真调试与众不同。F206带有程序、数据和I/O三个相互独立的存储空间,每个存储空间均为64K×16位,其中片内双访问RAM为544字(288字用于数据,另256字可用于程序/数据),片内FLASH为32K字,片内单访问RAM为4.5K字,其具体分布如表1所示。
F206的仿真调试
● F206仿真调试的特点
    F206的仿真调试器没有采用传统的插入仿真的方法,而是通过仿真器与DSP芯片上的几个仿真引脚间通信实现,F206具有符合IEEE1149.1标准的JTAG逻辑扫描电路,扫描仿真不仅克服了因仿真电缆过长而引起的信号失真,而且克服了传统单片机“插入式”仿真方式脱机运行时就出错的缺点。利用闻亭公司生产的EPP_XDS510仿真器进行系统的在线仿真调试,其一端与计算机的并口相连,另一端通过一双列14脚的仿真插头与F206通信。
● 问题的提出
    如果所要进行仿真的硬件装置没有外部存储器,此种情况下如何实现仿真呢?若将程序完全定位至8000H开始的片上SARAM内,则与F206中断向量表应该定位至0000H相矛盾,从而中断进一步程序将不可能正确运行;若将程序完全定位至0000H开始的FLASH内,虽保证了中断进一步程序可以正确运行,但是由于在FLASH内无法设置断点,所以此种情况下不能顺利进行仿真调试;若将中断向量表定位至0000H的FLASH内,将程序的其他部分定位至8000H内,可以保证中断进一步程序的正确执行,也可以在SARAM内设置断点,似乎是一种可行的方法,但是程序每改动一点,也就意味着中断向量表也要做相应的修改,即要再次将中断向量表烧写到FLASH内,不仅麻烦而且对FLASH也有损伤。
● 问题的解决
    针对以上种种方案存在的弊端,笔者提出了一种行之有效的解决办法,那就是将中断向量表和程序都定位至8000H开始的SARAM内,而在0000H烧写进一定的跳转语句,这样既保证了中断的正确执行,程序断点的调试,同时对FLASH也只要进行一次烧写即可。
    首先完成跳转语句的烧写。F206的FLASH烧写必须具备如下几个前提:FLASH烧写工作只能在WIN98操作系统下完成,在WIN2000操作系统下将会显示窗口初始化失败,被强行关闭;时钟频率必须为20MHz。
    相应的CMD文件为:
    MEMORY
    { PAGE 0: VECB :org= 0000h,length=40h
    ......
    PAGE 1:
    ......
    }
    SECTIONS
    { vectorb : {} > VECB PAGE 0
    ......
    }
    相应的vectorb的程序为如下。
    *File: vectorb.h *
    *File defines Interrupt vector labels *
    .global _c_int0
    .global _c_int1
    .global _c_int2
    .global _c_int3
    .sect "vectorb"
    b 8000h ;硬件复位c_int0
    b 8002h ;外部中断1 /INT1
    b 8004h ;外部中断2 INT2/INT3
    b 8006h ;定时器中断
    nop
    nop
    b 8000h
    b 8000h ;保留
    b 8000h ;保留
    b 8000h ;保留
    nop
    nop
    b 8000h
    b 8000h
    b 8000h
    b 8000h
    假设烧写程序在E:LOADEPP目录下,则将上述工程编译并建立形成的TZ.OUT文件也复制到同样的E:LOADEPP目录下,然后执行如下烧写语句。[!--empirenews.page--]
    E:LOADEPP>PRG2XXPP -P 280 -M 0X0006 -S 0X4007 -W 6 -E SRCC2XX_SPX.OUT TZ.OUT即可。
    在跳转语句的烧写完成后,即可将中断向量表和程序都定位至8000H开始的SARAM内,这样在SARAM内既可很方便设置断点,同时已经烧写进FLASH的跳转语句又能保证中断的正确执行,且每次对程序修改后无需再次对FLASH烧写,只要重新生成.OUT文件,然后执行CCS的FILE菜单下的LOAD PROGRAM即可。
  相应的CMD文件如下。
   MEMORY
   { PAGE 0:
   VEC :org=8000h,length=40h
    PROG :org=8050h,length=0600h
    PAGE 1:
    RAM_B2 :org=60h,length=20h
    RAM_B0 :org=0200h,length=0100h
    RAM_B1 :org=0300h,length=0100h
    DATAS :org=11ffh,length=0600h
    }
    SECTIONS
    { .data : {} > RAM_B0 PAGE 1
    .stack: {}> DATAS PAGE 1
    .bss : {}>DATAS PAGE 1
    /******************************************/
    vectors : {} > VEC PAGE 0
    .text : load > PROG, PAGE 0
    .mirro : {} > PROG PAGE 0
    .cinit : {} > PROG PAGE 0
    }
    相应的vectors中断向量表的程序如下。
    * File: vector.h *
    * File defines Interrupt vector labels *
    .global _c_int0
    .global _c_int1
    .global _c_int2
    .global _c_int3
    .sect "vectors"
    b _c_int0 ;硬件复位c_int0
    b _c_int1 ;外部中断1 /INT1
    b _c_int2 ;外部中断2 INT2/INT3
    b _c_int3 ;定时器中断
    nop
    nop
    b _c_int0
    b _c_int0 ;保留
    b _c_int0 ;保留
    b _c_int0 ;保留
    nop
    nop
    b _c_int0
    b _c_int0
    b _c_int0
    b _c_int0
结语
    针对具有片内FLASH的DSP芯片TMS320F206,在没有片外RAM的情况下如何方便有效的进行仿真调试,本文提出了一种行之有效的解决办法,以期对各位致力于DSP研究开发的同仁有所帮助。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭