7822|6

61

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

dsp的cmd问题(仿真器和写flash运行结果不同) [复制链接]

求助:
我在我的dsp中做一个滤波,使用仿真器时,滤波后的波形正确的(使用28335_RAM_Lnk.cmd),但是在写进片子中运行时波形就成直线啦(使用28335.cmd)
使用同一个cmd(28335.cmd)在把程序中滤波注释掉后,也就是不进行滤波写进片子运行,波形正常
哪位大侠帮我找找原因!!
谢谢!!!
28335_RAM_Lnk.cmd:
MEMORY
{
PAGE 0 :
      
   BEGIN      : origin = 0x000000, length = 0x000002     /* Boot to M0 will go here                      */
   BOOT_RSVD  : origin = 0x000002, length = 0x00004E     /* Part of M0, BOOT rom will use this for stack */               
   RAMM0      : origin = 0x000050, length = 0x0003B0
   RAML0      : origin = 0x008000, length = 0x001000   
   RAML1      : origin = 0x009000, length = 0x001500   
   RAML2      : origin = 0x00A500, length = 0x001000   
   RAML3      : origin = 0x00B500, length = 0x000500
   /*ZONE7A     : origin = 0x200000, length = 0x00FC00*/    /* XINTF zone 7 - program space */
   ZONE7A     : origin = 0x200000, length = 0x080000    /* XINTF zone 7 - program space */
   CSM_RSVD   : origin = 0x33FF80, length = 0x000076     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */
   CSM_PWL    : origin = 0x33FFF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA            */
   ADC_CAL    : origin = 0x380080, length = 0x000009
   RESET      : origin = 0x3FFFC0, length = 0x000002
   IQTABLES   : origin = 0x3FE000, length = 0x000b50
   IQTABLES2  : origin = 0x3FEB50, length = 0x00008c
   FPUTABLES  : origin = 0x3FEBDC, length = 0x0006A0
   BOOTROM    : origin = 0x3FF27C, length = 0x000D44               
         
PAGE 1 :
   RAMM1      : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
   RAML4      : origin = 0x00C000, length = 0x001000   
   RAML5      : origin = 0x00D000, length = 0x001000   
   RAML6      : origin = 0x00E000, length = 0x001000   
   RAML7      : origin = 0x00F000, length = 0x001000
   /*ZONE7B     : origin = 0x20FC00, length = 0x000400*/     /* XINTF zone 7 - data space */
   ZONE7B     : origin = 0x280000, length = 0x80000     /* XINTF zone 7 - data space */
}
SECTIONS
{
    codestart        : > BEGIN,     PAGE = 0
   Xintffuncs       : LOAD = RAML1,
                      RUN = ZONE7A,
                      LOAD_START(_XintffuncsLoadStart),
                      LOAD_END(_XintffuncsLoadEnd),
                      RUN_START(_XintffuncsRunStart),
                      PAGE = 0
   ramfuncs         : > RAML0,     PAGE = 0  
   .text            : > RAML1,     PAGE = 0
   .cinit           : > RAML0,     PAGE = 0
   .pinit           : > RAML0,     PAGE = 0
   .switch          : > RAML0,     PAGE = 0
   
   .stack           : > RAMM1,     PAGE = 1
   /*.ebss            : > RAML4,     PAGE = 1*/
   .ebss            : > ZONE7B,    PAGE = 1
   .econst          : > RAML5,     PAGE = 1      
   .esysmem         : > RAMM1,     PAGE = 1
   /***********2011-7-1 added by charlie********fir lvbo**************/增加的滤波
   firfilt      : > RAML4,   PAGE = 1
   firdb   : > RAML6,   PAGE = 1  
   //coefffilt   : > RAML7,   PAGE = 1
   sigIn    : > RAML7,   PAGE = 1  
   sigOut   : > RAML5,   PAGE = 1   
   /***********2011-7-1 added by charlie********fir lvbo**************/

   IQmath           : > RAML1,     PAGE = 0
   IQmathTables     : > IQTABLES,  PAGE = 0, TYPE = NOLOAD
   IQmathTables2    : > IQTABLES2, PAGE = 0, TYPE = NOLOAD
   FPUmathTables    : > FPUTABLES, PAGE = 0, TYPE = NOLOAD
      
   DMARAML4         : > RAML4,     PAGE = 1
   DMARAML5         : > RAML5,     PAGE = 1
   DMARAML6         : > RAML6,     PAGE = 1
   DMARAML7         : > RAML7,     PAGE = 1
   
   ZONE7DATA        : > ZONE7B,    PAGE = 1  
   .reset           : > RESET,     PAGE = 0, TYPE = DSECT /* not used                    */
   csm_rsvd         : > CSM_RSVD   PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
   csmpasswds       : > CSM_PWL    PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
   
   FFTBUF   ALIGN( 512 ) : { } >   RAML6  PAGE 1
   /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
   .adc_cal     : load = ADC_CAL,   PAGE = 0, TYPE = NOLOAD
     
}


28335.cmd:
MEMORY
{
   
PAGE 0:    /* Program Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */
   ZONE0       : origin = 0x004000, length = 0x001000     /* XINTF zone 0 */
   RAML0       : origin = 0x008000, length = 0x001500     /* on-chip RAM block L0 */
   RAML1       : origin = 0x009500, length = 0x001000     /* on-chip RAM block L1 */
   RAML2       : origin = 0x00A500, length = 0x001000     /* on-chip RAM block L2 */
   RAML3       : origin = 0x00B500, length = 0x000500     /* on-chip RAM block L3 */
   /*ZONE6       : origin = 0x0100000, length = 0x100000*/    /* XINTF zone 6 */
   /*ZONE7A      : origin = 0x0200000, length = 0x00FC00*/    /* XINTF zone 7 - program space */
   ZONE7A      : origin = 0x0200000, length = 0x080000    /* XINTF zone 7 - program space */
   FLASHH      : origin = 0x300000, length = 0x008000     /* on-chip FLASH */
   FLASHG      : origin = 0x308000, length = 0x008000     /* on-chip FLASH */
   FLASHF      : origin = 0x310000, length = 0x008000     /* on-chip FLASH */
   FLASHE      : origin = 0x318000, length = 0x008000     /* on-chip FLASH */
   FLASHD      : origin = 0x320000, length = 0x008000     /* on-chip FLASH */
   FLASHC      : origin = 0x328000, length = 0x008000     /* on-chip FLASH */
   FLASHA      : origin = 0x338000, length = 0x007F80     /* on-chip FLASH */
   CSM_RSVD    : origin = 0x33FF80, length = 0x000076     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */
   BEGIN       : origin = 0x33FFF6, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */
   CSM_PWL     : origin = 0x33FFF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA */
   OTP         : origin = 0x380400, length = 0x000400     /* on-chip OTP */
   ADC_CAL     : origin = 0x380080, length = 0x000009     /* ADC_cal function in Reserved memory */
   
   IQTABLES    : origin = 0x3FE000, length = 0x000b50     /* IQ Math Tables in Boot ROM */
   IQTABLES2   : origin = 0x3FEB50, length = 0x00008c     /* IQ Math Tables in Boot ROM */  
   FPUTABLES   : origin = 0x3FEBDC, length = 0x0006A0     /* FPU Tables in Boot ROM */
   ROM         : origin = 0x3FF27C, length = 0x000D44     /* Boot ROM */        
   RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of boot ROM  */
   VECTORS     : origin = 0x3FFFC2, length = 0x00003E     /* part of boot ROM  */
PAGE 1 :   

   
   BOOT_RSVD   : origin = 0x000000, length = 0x000050     /* Part of M0, BOOT rom will use this for stack */
   RAMM0       : origin = 0x000050, length = 0x0003B0     /* on-chip RAM block M0 */
   RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
   RAML4       : origin = 0x00C000, length = 0x001000     /* on-chip RAM block L1 */
   RAML5       : origin = 0x00D000, length = 0x001000     /* on-chip RAM block L1 */
   RAML6       : origin = 0x00E000, length = 0x004000     /* on-chip RAM block L1 */
   RAML7       : origin = 0x013000, length = 0x001000     /* on-chip RAM block L1 */
   /*ZONE7B      : origin = 0x20FC00, length = 0x000400*/     /* XINTF zone 7 - data space */
   ZONE7B      : origin = 0x280000, length = 0x080000     /* XINTF zone 7 - data space */
   FLASHB      : origin = 0x330000, length = 0x008000     /* on-chip FLASH */
}

SECTIONS
{

   /* Allocate program areas: */
   .cinit              : > FLASHH      PAGE = 0
   .pinit              : > FLASHH,     PAGE = 0
   .text               : > FLASHH      PAGE = 0
   codestart           : > BEGIN       PAGE = 0
   ramfuncs            : LOAD = FLASHD,
                         RUN = RAML0,
                         LOAD_START(_RamfuncsLoadStart),
                         LOAD_END(_RamfuncsLoadEnd),
                         RUN_START(_RamfuncsRunStart),
                         PAGE = 0
   csmpasswds          : > CSM_PWL     PAGE = 0
   csm_rsvd            : > CSM_RSVD    PAGE = 0
   
   /* Allocate uninitalized data sections: */
   .stack              : > RAMM1       PAGE = 1
   //.ebss               : > RAML4       PAGE = 1
   .ebss            : > ZONE7B,    PAGE = 1
   .esysmem            : > RAMM1       PAGE = 1
   /* Initalized sections go in Flash */
   /* For SDFlash to program these, they must be allocated to page 0 */
   .econst             : > FLASHA      PAGE = 0
   .switch             : > FLASHA      PAGE = 0   
      
    /***********2011-7-1 added by charlie********fir lvbo**************/增加的滤波
   firdb     : > RAML6   PAGE = 1
   firfilt    : > RAML4   PAGE = 1
   //coefffilt    : > RAML7   PAGE = 1
   sigIn    : > RAML7   PAGE = 1
   sigOut    : > RAML5   PAGE = 1   
   /***********2011-7-1 added by charlie********fir lvbo**************/

   /* Allocate IQ math areas: */
   IQmath              : > FLASHC      PAGE = 0                  /* Math Code */
   IQmathTables     : > IQTABLES,  PAGE = 0, TYPE = NOLOAD
   IQmathTables2    : > IQTABLES2, PAGE = 0, TYPE = NOLOAD
   FPUmathTables    : > FPUTABLES, PAGE = 0, TYPE = NOLOAD
         
   /* Allocate DMA-accessible RAM sections: */
   DMARAML4         : > RAML4,     PAGE = 1
   DMARAML5         : > RAML5,     PAGE = 1
   DMARAML6         : > RAML6,     PAGE = 1
   DMARAML7         : > RAML7,     PAGE = 1
   
   /* Allocate 0x400 of XINTF Zone 7 to storing data */
   ZONE7DATA        : > ZONE7B,    PAGE = 1
   
   FFTBUF     :  >   RAML6,  PAGE = 1 
  
   

   .reset              : > RESET,      PAGE = 0, TYPE = DSECT
   vectors             : > VECTORS     PAGE = 0, TYPE = DSECT
   
   /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
   .adc_cal     : load = ADC_CAL,   PAGE = 0, TYPE = NOLOAD
}

最新回复

另外FIR的滤波,TI官网有相关的例程可供参考,请参考附件代码  详情 回复 发表于 2012-8-24 23:36
 
点赞 关注

回复
举报

2606

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
楼主找到答案没?
 
个人签名工程 = 数学+物理+经济
 

回复

71

帖子

0

TA的资源

纯净的硅(初级)

板凳
 

回复 楼主 charlie1982 的帖子

在你的Flash 28335.cmd中,请确认你的滤波算法程序是放在flash中还是ram中?建议将算法先保存至flash中,运行的时候调到ram中进行运行。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(中级)

4
 
还没找到答案呢?
囧神:我的算法程序和我的程序写在一起的,
ramfuncs            : LOAD = FLASHD,
                         RUN = RAML0,
                         LOAD_START(_RamfuncsLoadStart),
                         LOAD_END(_RamfuncsLoadEnd),
                         RUN_START(_RamfuncsRunStart),
                         PAGE = 0
这一段应该是从flash中拷贝到ram中运行吧!!
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(中级)

5
 

问题的根源是数据的浮点运算出现了问题!!

很伤心!!!

 
 
 

回复

312

帖子

0

TA的资源

纯净的硅(高级)

6
 
有在CCS IDE 的工程属性中选择rts2800_fpu32.lib库吗?
 
 
 

回复

312

帖子

0

TA的资源

纯净的硅(高级)

7
 
另外FIR的滤波,TI官网有相关的例程可供参考,请参考附件代码

Test_FPU_FIR.c

5.6 KB, 下载次数: 2

售价: 5 分芯积分  [记录]

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表