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

FFT烧写到FLASH里不能运行,急求解答啊

着试我官网下载的cmd文件后修改的

MEMORY
{
PAGE 0:/* Program Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */ZONE0: origin = 0x002000, length = 0x002000/* XINTF zone 0 */ZONE1: origin = 0x004000, length = 0x002000/* XINTF zone 1 */RAML0: origin = 0x008000, length = 0x001000/* on-chip RAM block L0 */ZONE2: origin = 0x080000, length = 0x080000/* XINTF zone 2 */ZONE6: origin = 0x100000, length = 0x080000/* XINTF zone 6 */OTP: origin = 0x3D7800, length = 0x000800/* on-chip OTP */FLASHJ: origin = 0x3D8000, length = 0x002000/* on-chip FLASH */FLASHI: origin = 0x3DA000, length = 0x002000/* on-chip FLASH */FLASHH: origin = 0x3DC000, length = 0x004000/* on-chip FLASH */FLASHG: origin = 0x3E0000, length = 0x004000/* on-chip FLASH */FLASHF: origin = 0x3E4000, length = 0x004000/* on-chip FLASH */FLASHE: origin = 0x3E8000, length = 0x004000/* on-chip FLASH */FLASHD: origin = 0x3EC000, length = 0x004000/* on-chip FLASH */FLASHC: origin = 0x3F0000, length = 0x004000/* on-chip FLASH */FLASHA: origin = 0x3F6000, length = 0x001F80/* on-chip FLASH */CSM_RSVD: origin = 0x3F7F80, length = 0x000076/* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */BEGIN: origin = 0x3F7FF6, length = 0x000002/* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */CSM_PWL: origin = 0x3F7FF8, length = 0x000008/* Part of FLASHA.  CSM password locations in FLASHA */
/* ZONE7: origin = 0x3FC000, length = 0x003FC0/* XINTF zone 7 available if MP/MCn=1 */ROM: origin = 0x3FF000, length = 0x000FC0/* Boot ROM available if MP/MCn=0 */RESET: origin = 0x3FFFC0, length = 0x000002/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */VECTORS: origin = 0x3FFFC2, length = 0x00003E/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */

PAGE 1 :/* Data Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation *//* Registers remain on PAGE1*/RAMM0: origin = 0x000000, length = 0x000400/* on-chip RAM block M0 */RAMM1: origin = 0x000400, length = 0x000400/* on-chip RAM block M1 */RAML1: origin = 0x009000, length = 0x001000/* on-chip RAM block L1 */FLASHB: origin = 0x3F4000, length = 0x002000/* on-chip FLASH */RAMH0: origin = 0x3F8000, length = 0x002000/* on-chip RAM block H0 */ZONE2tf: origin = 0x084000, length = 0x001FFF
}

/* Allocate sections to memory blocks.Note:codestart user defined section in DSP28_CodeStartBranch.asm used to redirect codeexecution when booting to flashramfuncs  user defined section to store functions that will be copied from Flash into RAM
*/
SECTIONS
{/* Allocate program areas: */.cinit: > FLASHAPAGE = 0.pinit: > FLASHA,PAGE = 0.text: > FLASHAPAGE = 0codestart: > BEGINPAGE = 0ramfuncs: LOAD = FLASHD,RUN = RAML0,LOAD_START(_RamfuncsLoadStart),LOAD_END(_RamfuncsLoadEnd),RUN_START(_RamfuncsRunStart),PAGE = 0csmpasswds: > CSM_PWLPAGE = 0csm_rsvd: > CSM_RSVDPAGE = 0/* Allocate uninitalized data sections: */.stack: > RAMM0PAGE = 1.ebss: > RAML1PAGE = 1.esysmem: > RAMH0PAGE = 1/* Initalized sections go in Flash *//* For SDFlash to program these, they must be allocated to page 0 */.econst: > FLASHAPAGE = 0.switch: > FLASHAPAGE = 0/* Allocate IQ math areas: */IQmath: > FLASHCPAGE = 0/* Math Code */IQmathTables: > ROMPAGE = 0, TYPE = NOLOAD/* Math Tables In ROM *//* .reset is a standard section used by the compiler.  It contains the *//* the address of the start of _c_int00 for C Code./*/* When using the boot ROM this section and the CPU vector *//* table is not needed.  Thus the default type is set here to  *//* DSECT  */.reset: > RESET,PAGE = 0, TYPE = DSECTvectors: > VECTORSPAGE = 0, TYPE = DSECTFFTipcb3  ALIGN(256): {}>  RAMH0PAGE=1FFTipcb4  ALIGN(256): {}>  RAMH0PAGE=1FFTmag:  >  RAMH0PAGE=1FFTtf:  >  RAML0PAGE=0

}

烧写的时候出现错误

Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***

 

感觉还是CMD没配置对,串口等其他部分都能运行

melissa eleven:

去掉FFT的相关部分,不会出现警告,其他功能正常

着试我官网下载的cmd文件后修改的

MEMORY
{
PAGE 0:/* Program Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */ZONE0: origin = 0x002000, length = 0x002000/* XINTF zone 0 */ZONE1: origin = 0x004000, length = 0x002000/* XINTF zone 1 */RAML0: origin = 0x008000, length = 0x001000/* on-chip RAM block L0 */ZONE2: origin = 0x080000, length = 0x080000/* XINTF zone 2 */ZONE6: origin = 0x100000, length = 0x080000/* XINTF zone 6 */OTP: origin = 0x3D7800, length = 0x000800/* on-chip OTP */FLASHJ: origin = 0x3D8000, length = 0x002000/* on-chip FLASH */FLASHI: origin = 0x3DA000, length = 0x002000/* on-chip FLASH */FLASHH: origin = 0x3DC000, length = 0x004000/* on-chip FLASH */FLASHG: origin = 0x3E0000, length = 0x004000/* on-chip FLASH */FLASHF: origin = 0x3E4000, length = 0x004000/* on-chip FLASH */FLASHE: origin = 0x3E8000, length = 0x004000/* on-chip FLASH */FLASHD: origin = 0x3EC000, length = 0x004000/* on-chip FLASH */FLASHC: origin = 0x3F0000, length = 0x004000/* on-chip FLASH */FLASHA: origin = 0x3F6000, length = 0x001F80/* on-chip FLASH */CSM_RSVD: origin = 0x3F7F80, length = 0x000076/* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */BEGIN: origin = 0x3F7FF6, length = 0x000002/* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */CSM_PWL: origin = 0x3F7FF8, length = 0x000008/* Part of FLASHA.  CSM password locations in FLASHA */
/* ZONE7: origin = 0x3FC000, length = 0x003FC0/* XINTF zone 7 available if MP/MCn=1 */ROM: origin = 0x3FF000, length = 0x000FC0/* Boot ROM available if MP/MCn=0 */RESET: origin = 0x3FFFC0, length = 0x000002/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */VECTORS: origin = 0x3FFFC2, length = 0x00003E/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */

PAGE 1 :/* Data Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation *//* Registers remain on PAGE1*/RAMM0: origin = 0x000000, length = 0x000400/* on-chip RAM block M0 */RAMM1: origin = 0x000400, length = 0x000400/* on-chip RAM block M1 */RAML1: origin = 0x009000, length = 0x001000/* on-chip RAM block L1 */FLASHB: origin = 0x3F4000, length = 0x002000/* on-chip FLASH */RAMH0: origin = 0x3F8000, length = 0x002000/* on-chip RAM block H0 */ZONE2tf: origin = 0x084000, length = 0x001FFF
}

/* Allocate sections to memory blocks.Note:codestart user defined section in DSP28_CodeStartBranch.asm used to redirect codeexecution when booting to flashramfuncs  user defined section to store functions that will be copied from Flash into RAM
*/
SECTIONS
{/* Allocate program areas: */.cinit: > FLASHAPAGE = 0.pinit: > FLASHA,PAGE = 0.text: > FLASHAPAGE = 0codestart: > BEGINPAGE = 0ramfuncs: LOAD = FLASHD,RUN = RAML0,LOAD_START(_RamfuncsLoadStart),LOAD_END(_RamfuncsLoadEnd),RUN_START(_RamfuncsRunStart),PAGE = 0csmpasswds: > CSM_PWLPAGE = 0csm_rsvd: > CSM_RSVDPAGE = 0/* Allocate uninitalized data sections: */.stack: > RAMM0PAGE = 1.ebss: > RAML1PAGE = 1.esysmem: > RAMH0PAGE = 1/* Initalized sections go in Flash *//* For SDFlash to program these, they must be allocated to page 0 */.econst: > FLASHAPAGE = 0.switch: > FLASHAPAGE = 0/* Allocate IQ math areas: */IQmath: > FLASHCPAGE = 0/* Math Code */IQmathTables: > ROMPAGE = 0, TYPE = NOLOAD/* Math Tables In ROM *//* .reset is a standard section used by the compiler.  It contains the *//* the address of the start of _c_int00 for C Code./*/* When using the boot ROM this section and the CPU vector *//* table is not needed.  Thus the default type is set here to  *//* DSECT  */.reset: > RESET,PAGE = 0, TYPE = DSECTvectors: > VECTORSPAGE = 0, TYPE = DSECTFFTipcb3  ALIGN(256): {}>  RAMH0PAGE=1FFTipcb4  ALIGN(256): {}>  RAMH0PAGE=1FFTmag:  >  RAMH0PAGE=1FFTtf:  >  RAML0PAGE=0

}

烧写的时候出现错误

Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***

 

感觉还是CMD没配置对,串口等其他部分都能运行

melissa eleven:

回复 melissa eleven:

有没有人解答下啊

着试我官网下载的cmd文件后修改的

MEMORY
{
PAGE 0:/* Program Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */ZONE0: origin = 0x002000, length = 0x002000/* XINTF zone 0 */ZONE1: origin = 0x004000, length = 0x002000/* XINTF zone 1 */RAML0: origin = 0x008000, length = 0x001000/* on-chip RAM block L0 */ZONE2: origin = 0x080000, length = 0x080000/* XINTF zone 2 */ZONE6: origin = 0x100000, length = 0x080000/* XINTF zone 6 */OTP: origin = 0x3D7800, length = 0x000800/* on-chip OTP */FLASHJ: origin = 0x3D8000, length = 0x002000/* on-chip FLASH */FLASHI: origin = 0x3DA000, length = 0x002000/* on-chip FLASH */FLASHH: origin = 0x3DC000, length = 0x004000/* on-chip FLASH */FLASHG: origin = 0x3E0000, length = 0x004000/* on-chip FLASH */FLASHF: origin = 0x3E4000, length = 0x004000/* on-chip FLASH */FLASHE: origin = 0x3E8000, length = 0x004000/* on-chip FLASH */FLASHD: origin = 0x3EC000, length = 0x004000/* on-chip FLASH */FLASHC: origin = 0x3F0000, length = 0x004000/* on-chip FLASH */FLASHA: origin = 0x3F6000, length = 0x001F80/* on-chip FLASH */CSM_RSVD: origin = 0x3F7F80, length = 0x000076/* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */BEGIN: origin = 0x3F7FF6, length = 0x000002/* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */CSM_PWL: origin = 0x3F7FF8, length = 0x000008/* Part of FLASHA.  CSM password locations in FLASHA */
/* ZONE7: origin = 0x3FC000, length = 0x003FC0/* XINTF zone 7 available if MP/MCn=1 */ROM: origin = 0x3FF000, length = 0x000FC0/* Boot ROM available if MP/MCn=0 */RESET: origin = 0x3FFFC0, length = 0x000002/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */VECTORS: origin = 0x3FFFC2, length = 0x00003E/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */

PAGE 1 :/* Data Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation *//* Registers remain on PAGE1*/RAMM0: origin = 0x000000, length = 0x000400/* on-chip RAM block M0 */RAMM1: origin = 0x000400, length = 0x000400/* on-chip RAM block M1 */RAML1: origin = 0x009000, length = 0x001000/* on-chip RAM block L1 */FLASHB: origin = 0x3F4000, length = 0x002000/* on-chip FLASH */RAMH0: origin = 0x3F8000, length = 0x002000/* on-chip RAM block H0 */ZONE2tf: origin = 0x084000, length = 0x001FFF
}

/* Allocate sections to memory blocks.Note:codestart user defined section in DSP28_CodeStartBranch.asm used to redirect codeexecution when booting to flashramfuncs  user defined section to store functions that will be copied from Flash into RAM
*/
SECTIONS
{/* Allocate program areas: */.cinit: > FLASHAPAGE = 0.pinit: > FLASHA,PAGE = 0.text: > FLASHAPAGE = 0codestart: > BEGINPAGE = 0ramfuncs: LOAD = FLASHD,RUN = RAML0,LOAD_START(_RamfuncsLoadStart),LOAD_END(_RamfuncsLoadEnd),RUN_START(_RamfuncsRunStart),PAGE = 0csmpasswds: > CSM_PWLPAGE = 0csm_rsvd: > CSM_RSVDPAGE = 0/* Allocate uninitalized data sections: */.stack: > RAMM0PAGE = 1.ebss: > RAML1PAGE = 1.esysmem: > RAMH0PAGE = 1/* Initalized sections go in Flash *//* For SDFlash to program these, they must be allocated to page 0 */.econst: > FLASHAPAGE = 0.switch: > FLASHAPAGE = 0/* Allocate IQ math areas: */IQmath: > FLASHCPAGE = 0/* Math Code */IQmathTables: > ROMPAGE = 0, TYPE = NOLOAD/* Math Tables In ROM *//* .reset is a standard section used by the compiler.  It contains the *//* the address of the start of _c_int00 for C Code./*/* When using the boot ROM this section and the CPU vector *//* table is not needed.  Thus the default type is set here to  *//* DSECT  */.reset: > RESET,PAGE = 0, TYPE = DSECTvectors: > VECTORSPAGE = 0, TYPE = DSECTFFTipcb3  ALIGN(256): {}>  RAMH0PAGE=1FFTipcb4  ALIGN(256): {}>  RAMH0PAGE=1FFTmag:  >  RAMH0PAGE=1FFTtf:  >  RAML0PAGE=0

}

烧写的时候出现错误

Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***

 

感觉还是CMD没配置对,串口等其他部分都能运行

Hank Zhao:

回复 melissa eleven:

上边的warning说的很详细,由于你把FFT代码分配到了RAM区域,所以在CCS调试的时候可以正常运行,但是自启动独立运行的话这部分代码会丢失。

着试我官网下载的cmd文件后修改的

MEMORY
{
PAGE 0:/* Program Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */ZONE0: origin = 0x002000, length = 0x002000/* XINTF zone 0 */ZONE1: origin = 0x004000, length = 0x002000/* XINTF zone 1 */RAML0: origin = 0x008000, length = 0x001000/* on-chip RAM block L0 */ZONE2: origin = 0x080000, length = 0x080000/* XINTF zone 2 */ZONE6: origin = 0x100000, length = 0x080000/* XINTF zone 6 */OTP: origin = 0x3D7800, length = 0x000800/* on-chip OTP */FLASHJ: origin = 0x3D8000, length = 0x002000/* on-chip FLASH */FLASHI: origin = 0x3DA000, length = 0x002000/* on-chip FLASH */FLASHH: origin = 0x3DC000, length = 0x004000/* on-chip FLASH */FLASHG: origin = 0x3E0000, length = 0x004000/* on-chip FLASH */FLASHF: origin = 0x3E4000, length = 0x004000/* on-chip FLASH */FLASHE: origin = 0x3E8000, length = 0x004000/* on-chip FLASH */FLASHD: origin = 0x3EC000, length = 0x004000/* on-chip FLASH */FLASHC: origin = 0x3F0000, length = 0x004000/* on-chip FLASH */FLASHA: origin = 0x3F6000, length = 0x001F80/* on-chip FLASH */CSM_RSVD: origin = 0x3F7F80, length = 0x000076/* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */BEGIN: origin = 0x3F7FF6, length = 0x000002/* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */CSM_PWL: origin = 0x3F7FF8, length = 0x000008/* Part of FLASHA.  CSM password locations in FLASHA */
/* ZONE7: origin = 0x3FC000, length = 0x003FC0/* XINTF zone 7 available if MP/MCn=1 */ROM: origin = 0x3FF000, length = 0x000FC0/* Boot ROM available if MP/MCn=0 */RESET: origin = 0x3FFFC0, length = 0x000002/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */VECTORS: origin = 0x3FFFC2, length = 0x00003E/* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */

PAGE 1 :/* Data Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation *//* Registers remain on PAGE1*/RAMM0: origin = 0x000000, length = 0x000400/* on-chip RAM block M0 */RAMM1: origin = 0x000400, length = 0x000400/* on-chip RAM block M1 */RAML1: origin = 0x009000, length = 0x001000/* on-chip RAM block L1 */FLASHB: origin = 0x3F4000, length = 0x002000/* on-chip FLASH */RAMH0: origin = 0x3F8000, length = 0x002000/* on-chip RAM block H0 */ZONE2tf: origin = 0x084000, length = 0x001FFF
}

/* Allocate sections to memory blocks.Note:codestart user defined section in DSP28_CodeStartBranch.asm used to redirect codeexecution when booting to flashramfuncs  user defined section to store functions that will be copied from Flash into RAM
*/
SECTIONS
{/* Allocate program areas: */.cinit: > FLASHAPAGE = 0.pinit: > FLASHA,PAGE = 0.text: > FLASHAPAGE = 0codestart: > BEGINPAGE = 0ramfuncs: LOAD = FLASHD,RUN = RAML0,LOAD_START(_RamfuncsLoadStart),LOAD_END(_RamfuncsLoadEnd),RUN_START(_RamfuncsRunStart),PAGE = 0csmpasswds: > CSM_PWLPAGE = 0csm_rsvd: > CSM_RSVDPAGE = 0/* Allocate uninitalized data sections: */.stack: > RAMM0PAGE = 1.ebss: > RAML1PAGE = 1.esysmem: > RAMH0PAGE = 1/* Initalized sections go in Flash *//* For SDFlash to program these, they must be allocated to page 0 */.econst: > FLASHAPAGE = 0.switch: > FLASHAPAGE = 0/* Allocate IQ math areas: */IQmath: > FLASHCPAGE = 0/* Math Code */IQmathTables: > ROMPAGE = 0, TYPE = NOLOAD/* Math Tables In ROM *//* .reset is a standard section used by the compiler.  It contains the *//* the address of the start of _c_int00 for C Code./*/* When using the boot ROM this section and the CPU vector *//* table is not needed.  Thus the default type is set here to  *//* DSECT  */.reset: > RESET,PAGE = 0, TYPE = DSECTvectors: > VECTORSPAGE = 0, TYPE = DSECTFFTipcb3  ALIGN(256): {}>  RAMH0PAGE=1FFTipcb4  ALIGN(256): {}>  RAMH0PAGE=1FFTmag:  >  RAMH0PAGE=1FFTtf:  >  RAML0PAGE=0

}

烧写的时候出现错误

Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***

 

感觉还是CMD没配置对,串口等其他部分都能运行

melissa eleven:

回复 Hank Zhao:

我试着放到FLASH里过

 FFTipcb3  ALIGN(256)   : {}   >   FLASHC      PAGE = 0   FFTipcb4  ALIGN(256)   : {}   >   FLASHC      PAGE = 0   FFTmag                 :  >   FLASHC      PAGE = 0   FFTtf                  :  >   FLASHC      PAGE = 0

 

还是不运行

赞(0)
未经允许不得转载:TI中文支持网 » FFT烧写到FLASH里不能运行,急求解答啊
分享到: 更多 (0)