TI中文支持网
TI专业的中文技术问题搜集分享网站

关于下载到FLASH的问题

如图所示,该段程序中当interruptcount大于等于5000时会归零,但是可以从图中看出来,数值已经远远大于5000但是没有按照正常的情况运行,不止这一处错误,整个程序都运行的有问题,所以想请问一下大神,这个是怎么回事。程序在RAM中运行没有问题,使用FLASH下载就有问题了~

Seven Han:

请问您用的ti例程吗还是?

下载flash调试使用的cmd文件呢?

如图所示,该段程序中当interruptcount大于等于5000时会归零,但是可以从图中看出来,数值已经远远大于5000但是没有按照正常的情况运行,不止这一处错误,整个程序都运行的有问题,所以想请问一下大神,这个是怎么回事。程序在RAM中运行没有问题,使用FLASH下载就有问题了~

user4839965:

回复 Seven Han:

您好,Seven Han

    我用的程序是通过例程修改的,cmd文件使用的是下面两个文件,没有进行过里边语句的修改,直接从controlsuite里下载的:

    DSP2803x_Headers_nonBIOS.cmd

    F28035.cmd

    拷贝到Flash里的语句如下:    

   #pragma CODE_SECTION(MainISR, "ramfuncs");

   MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);

   InitFlash(); 

   例程里好像就是这么写的~   

   

如图所示,该段程序中当interruptcount大于等于5000时会归零,但是可以从图中看出来,数值已经远远大于5000但是没有按照正常的情况运行,不止这一处错误,整个程序都运行的有问题,所以想请问一下大神,这个是怎么回事。程序在RAM中运行没有问题,使用FLASH下载就有问题了~

Seven Han:

回复 user4839965:

您好,

从您上面的描述,还是不能够一眼看出问题在哪,初步猜测应该是flash搬移到ram的问题。

或者您可以把工程代码贴上吗?

如图所示,该段程序中当interruptcount大于等于5000时会归零,但是可以从图中看出来,数值已经远远大于5000但是没有按照正常的情况运行,不止这一处错误,整个程序都运行的有问题,所以想请问一下大神,这个是怎么回事。程序在RAM中运行没有问题,使用FLASH下载就有问题了~

user4839965:

回复 Seven Han:

您好,Seven Han

   附件为我的工程和库文件,麻烦您了,感谢您在百忙之中抽出时间帮我解决问题~

如图所示,该段程序中当interruptcount大于等于5000时会归零,但是可以从图中看出来,数值已经远远大于5000但是没有按照正常的情况运行,不止这一处错误,整个程序都运行的有问题,所以想请问一下大神,这个是怎么回事。程序在RAM中运行没有问题,使用FLASH下载就有问题了~

user4839965:

回复 Seven Han:

您好 SEVEN HAN:

下面是我F28035.cmd文件的代码,我本来上传了整个工程好像没有通过审核。您看看贴这些代码可以判断出问题吗?

感谢您在百忙之中抽出时间帮我解答问题~

MEMORY{    PAGE 0:        RAML0 : origin = 0x008000, length = 0x000800    RAML1 : origin = 0x008800, length = 0x000400     OTP : origin = 0x3D7800, length = 0x000400    FLASHH : origin = 0x3E8000, length = 0x002000     FLASHG : origin = 0x3EA000, length = 0x002000    FLASHF : origin = 0x3EC000, length = 0x002000     FLASHE : origin = 0x3EE000, length = 0x002000    FLASHD : origin = 0x3F0000, length = 0x002000    FLASHC : origin = 0x3F2000, length = 0x002000     FLASHA : origin = 0x3F6000, length = 0x001F80     CSM_RSVD : origin = 0x3F7F80, length = 0x000076    BEGIN : origin = 0x3F7FF6, length = 0x000002     CSM_PWL_P0 : origin = 0x3F7FF8, length = 0x000008 

    IQTABLES : origin = 0x3FE000, length = 0x000B50     IQTABLES2 : origin = 0x3FEB50, length = 0x00008C     IQTABLES3 : origin = 0x3FEBDC, length = 0x0000AA 

    ROM : origin = 0x3FF27C, length = 0x000D44     RESET : origin = 0x3FFFC0, length = 0x000002    VECTORS : origin = 0x3FFFC2, length = 0x00003E

    PAGE 1 :     BOOT_RSVD : origin = 0x000000, length = 0x000050     RAMM0 : origin = 0x000050, length = 0x0003B0     RAMM1 : origin = 0x000400, length = 0x000400    RAML2 : origin = 0x008C00, length = 0x000400     RAML3 : origin = 0x009000, length = 0x001000    FLASHB : origin = 0x3F4000, length = 0x002000 

}

SECTIONS{

    .cinit : > FLASHA PAGE = 0    .pinit : > FLASHA, PAGE = 0    .text : > FLASHA PAGE = 0    codestart : > BEGIN PAGE = 0    ramfuncs : LOAD = FLASHA,                      RUN = RAML0,                      LOAD_START(_RamfuncsLoadStart),                       LOAD_END(_RamfuncsLoadEnd),                      RUN_START(_RamfuncsRunStart),                      PAGE = 0

    csmpasswds : > CSM_PWL_P0 PAGE = 0    csm_rsvd : > CSM_RSVD PAGE = 0

    .stack : > RAMM0 PAGE = 1    .ebss : > RAML2 PAGE = 1    .esysmem : > RAML2 PAGE = 1

    .econst : > FLASHA PAGE = 0    .switch : > FLASHA PAGE = 0

    IQmath : > FLASHA PAGE = 0     IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD

    .reset : > RESET, PAGE = 0, TYPE = DSECT     vectors : > VECTORS PAGE = 0, TYPE = DSECT

}

赞(0)
未经允许不得转载:TI中文支持网 » 关于下载到FLASH的问题
分享到: 更多 (0)