Other Parts Discussed in Thread: UNIFLASH
采用全部搬运方式(此时RAM占用97%),但频繁出现烧不尽程序的时刻,需要多次重复烧录,请问该如何解决
/**********************************************************************
* File: f28335_nonBIOS_flash.cmd -- Linker command file for non-DSP/BIOS
* code with DSP in Boot to Flash boot mode.
*
* History: 09/18/07 - original (D. Alter)
**********************************************************************/
MEMORY
{
PAGE 0: /* Program Memory */
L0123SARAM : origin = 0x008000, length = 0x005FFF /* SARAM, L0 through L3 combined. CSM secure */
//L0123SARAM : origin = 0x010900, length = 0x0106FF /* SARAM, L0 through L3 combined. CSM secure */
FLASH_ABCDEFGH : origin = 0x300000, length = 0x03FF80 /* On-chip FLASH */
CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASH Sector A. Reserved when CSM is in use. */
BEGIN_FLASH : origin = 0x33FFF6, length = 0x000002 /* Part of FLASH Sector A. Used for "Jump to flash" bootloader mode. */
PASSWORDS : origin = 0x33FFF8, length = 0x000008 /* Part of FLASH Sector A. CSM password locations. */
ADC_CAL : origin = 0x380080, length = 0x000009 /* ADC_cal function in Reserved memory */
OTP : origin = 0x380400, length = 0x000400 /* 1Kw OTP */
IQTABLES : origin = 0x3FE000, length = 0x000B50 /* Part of Boot ROM */
IQTABLES2 : origin = 0x3FEB50, length = 0x00008C /* Part of Boot ROM */
FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 /* Part of Boot ROM */
BOOTROM : origin = 0x3FF27C, length = 0x000D44 /* 8Kw Boot ROM */
RESET : origin = 0x3FFFC0, length = 0x000002 /* part of Boot ROM */
PAGE 1 : /* Data Memory */
M0SARAM : origin = 0x000000, length = 0x000400 /* 1Kw M0 SARAM */
/* M1SARAM : origin = 0x000400, length = 0x000400 /* 1Kw M1 SARAM */
M1SARAM : origin = 0x000400, length = 0x000400 /* 1Kw M1 SARAM */
L4SARAM : origin = 0x00E000, length = 0x001CFF /* 4Kw L4 SARAM, DMA accessible */
//L4SARAM : origin = 0x00C000, length = 0x002CFF /* 4Kw L4 SARAM, DMA accessible */
L5SARAM : origin = 0x00FD00, length = 0x0000ff /* 4Kw L5 SARAM, DMA accessible */
L6SARAM : origin = 0x00FE00, length = 0x000AFF /* 4Kw L6 SARAM, DMA accessible, 1 WS prog access */
L7SARAM : origin = 0x010900, length = 0x0106FF /* 4Kw L7 SARAM, DMA accessible 1 WS prog access */
}
//PAGE 0: /* Program Memory */
// L0123SARAM : origin = 0x008000, length = 0x005900//ԭʼ /* SARAM, L0 through L3 combined. CSM secure */
//L0123SARAM : origin = 0x006000, length = 0x007900//1117 /* SARAM, L0 through L3 combined. CSM secure */
// L0123SARAM : origin = 0x008000, length = 0x008000 /* SARAM, L0 through L3 combined. CSM secure */
// FLASH_ABCDEFGH : origin = 0x300000, length = 0x03FF80//ԭʼ /* On-chip FLASH */
// CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASH Sector A. Reserved when CSM is in use. */
// BEGIN_FLASH : origin = 0x33FFF6, length = 0x000002 /* Part of FLASH Sector A. Used for "Jump to flash" bootloader mode. */
// PASSWORDS : origin = 0x33FFF8, length = 0x000008 /* Part of FLASH Sector A. CSM password locations. */
// ADC_CAL : origin = 0x380080, length = 0x000009 /* ADC_cal function in Reserved memory */
// OTP : origin = 0x380400, length = 0x000400 /* 1Kw OTP */
// IQTABLES : origin = 0x3FE000, length = 0x000B50 /* Part of Boot ROM */
// IQTABLES2 : origin = 0x3FEB50, length = 0x00008C /* Part of Boot ROM */
// FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 /* Part of Boot ROM */
// BOOTROM : origin = 0x3FF27C, length = 0x000D44 /* 8Kw Boot ROM */
// RESET : origin = 0x3FFFC0, length = 0x000002 /* part of Boot ROM */
//PAGE 1 : /* Data Memory */
// M0SARAM : origin = 0x000000, length = 0x000400 /* 1Kw M0 SARAM */
/* M1SARAM : origin = 0x000400, length = 0x000400 /* 1Kw M1 SARAM */
// M1SARAM : origin = 0x000400, length = 0x000400 /* 1Kw M1 SARAM */
// L4SARAM : origin = 0x010000, length = 0x001CFF
//L4SARAM : origin = 0x00D900, length = 0x001CFF // /* 4Kw L4 SARAM, DMA accessible */
//L4SARAM : origin = 0x00C000, length = 0x002CFF /* 4Kw L4 SARAM, DMA accessible */
//L5SARAM : origin = 0x00F600, length = 0x0007ff // /* 4Kw L5 SARAM, DMA accessible */
//L6SARAM : origin = 0x00FE00, length = 0x000AFF // /* 4Kw L6 SARAM, DMA accessible, 1 WS prog access */
//L7SARAM : origin = 0x010900, length = 0x0106FF // /* 4Kw L7 SARAM, DMA accessible 1 WS prog access */
// L5SARAM : origin = 0x011D00, length = 0x0007ff /* 4Kw L5 SARAM, DMA accessible */
// L6SARAM : origin = 0x012500, length = 0x000AFF /* 4Kw L6 SARAM, DMA accessible, 1 WS prog access */
// L7SARAM : origin = 0x013000, length = 0x0106FF /* 4Kw L7 SARAM, DMA accessible 1 WS prog access */
SECTIONS
{
/*** Code Security Password Locations ***/
passwords : > PASSWORDS, PAGE = 0 /* Used by file passwords.asm */
csm_rsvd : > CSM_RSVD, PAGE = 0 /* Used by file passwords.asm */
/*** User Defined Sections ***/
codestart : > BEGIN_FLASH, PAGE = 0 /* Used by file CodeStartBranch.asm */
wddisable : > FLASH_ABCDEFGH, PAGE = 0
copysections : > FLASH_ABCDEFGH, PAGE = 0
/* Allocate IQ math areas: */
IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD
IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD
FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD
/* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
.adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD
/* .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 = DSECT
/*** Uninitialized Sections ***/
.stack : > M0SARAM PAGE = 1
//.ebss : > L0123SARAM PAGE = 0
.ebss : > L4SARAM PAGE = 1
.esysmem : > M1SARAM PAGE = 1
/*** Initialized Sections ***/
.cinit : LOAD = FLASH_ABCDEFGH, PAGE = 0 /* can be ROM */
RUN = L0123SARAM, PAGE = 0 /* must be CSM secured RAM */
LOAD_START(_cinit_loadstart),
RUN_START(_cinit_runstart),
SIZE(_cinit_size)
.const : LOAD = FLASH_ABCDEFGH, PAGE = 0 /* can be ROM */
RUN = L0123SARAM, PAGE = 0 /* must be CSM secured RAM */
LOAD_START(_const_loadstart),
RUN_START(_const_runstart),
SIZE(_const_size)
.econst : LOAD = FLASH_ABCDEFGH, PAGE = 0 /* can be ROM */
RUN = L0123SARAM, PAGE = 0 /* must be CSM secured RAM */
LOAD_START(_econst_loadstart),
RUN_START(_econst_runstart),
SIZE(_econst_size)
.pinit : LOAD = FLASH_ABCDEFGH, PAGE = 0 /* can be ROM */
RUN = L0123SARAM, PAGE = 0 /* must be CSM secured RAM */
LOAD_START(_pinit_loadstart),
RUN_START(_pinit_runstart),
SIZE(_pinit_size)
.switch : LOAD = FLASH_ABCDEFGH, PAGE = 0 /* can be ROM */
RUN = L0123SARAM, PAGE = 0 /* must be CSM secured RAM */
LOAD_START(_switch_loadstart),
RUN_START(_switch_runstart),
SIZE(_switch_size)
.text : LOAD = FLASH_ABCDEFGH, PAGE = 0 /* can be ROM */
RUN = L0123SARAM, PAGE = 0 /* must be CSM secured RAM */
LOAD_START(_text_loadstart),
RUN_START(_text_runstart),
SIZE(_text_size)
ramfuncs : LOAD = FLASH_ABCDEFGH, PAGE = 0 /* Should be Flash */
RUN = L0123SARAM, PAGE = 0 /* Must be CSM secured RAM */
LOAD_START(_ramfuncs_loadstart),
RUN_START(_ramfuncs_runstart)
SIZE(_ramfuncs_size)
}
/******************* end of file ************************/