This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

c6748从flash启动CMD问题

自己做的板子,NORflash启动,当程序cmd分配为SHRAM时,用L138的NORWriter_DSP烧写完,一切正常可以启动。

当将程序cmd分配到外扩DDR时,烧写后就启动不了了,只能在线跑。。。

麻烦问下程序CMD和NORWriter的CMD两个需要怎样的对应关系?

以下为程序cmd:

MEMORY
{
DSPL2ROM o = 0x00700000 l = 0x00100000 /* 1MB L2 Internal ROM */
DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 Internal RAM */
DSPL1PRAM o = 0x00E00000 l = 0x00008000 /* 32kB L1 Internal Program RAM */
DSPL1DRAM o = 0x00F00000 l = 0x00008000 /* 32kB L1 Internal Data RAM */
SHDSPL2ROM o = 0x11700000 l = 0x00100000 /* 1MB L2 Shared Internal ROM */
SHDSPL2RAM o = 0x11800000 l = 0x00040000 /* 256kB L2 Shared Internal RAM */
SHDSPL1PRAM o = 0x11E00000 l = 0x00008000 /* 32kB L1 Shared Internal Program RAM */
SHDSPL1DRAM o = 0x11F00000 l = 0x00008000 /* 32kB L1 Shared Internal Data RAM */
EMIFACS0 o = 0x40000000 l = 0x20000000 /* 512MB SDRAM Data (CS0) */
EMIFACS2 o = 0x60000000 l = 0x02000000 /* 32MB Async Data (CS2) */
EMIFACS3 o = 0x62000000 l = 0x02000000 /* 32MB Async Data (CS3) */
EMIFACS4 o = 0x64000000 l = 0x02000000 /* 32MB Async Data (CS4) */
EMIFACS5 o = 0x66000000 l = 0x02000000 /* 32MB Async Data (CS5) */
SHRAM o = 0x80000000 l = 0x00020000 /* 128kB Shared RAM */
DDR2 o = 0xC0000000 l = 0x02000000 /* 512MB DDR2 Data */
}

SECTIONS
{
.text > DDR2
.stack > DDR2
.bss > DDR2
.cio > DDR2
.const > DDR2
.data > DDR2
.switch > DDR2
.sysmem > DDR2
.far > DDR2
.args > DDR2
.ppinfo > DDR2
.ppdata > DDR2

/* COFF sections */
.pinit > DDR2
.cinit > DDR2

/* EABI sections */
.binit > DDR2
.init_array > DDR2
.neardata > DDR2
.fardata > DDR2
.rodata > DDR2
.c6xabi.exidx > DDR2
.c6xabi.extab > DDR2
}

以下为norwriter的cmd:

-lrts64plus.lib
-stack 0x00000800 /* Stack Size */
-heap 0x00000800 /* Heap Size */

MEMORY
{
DRAM org=0xC0000000 len=0x04000000 /* SDRAM */
SHARED_RAM org=0x80000000 len=0x00020000 /* DDR for program */
AEMIF org=0x60000000 len=0x02000000 /* AEMIF CS2 region */
AEMIF_CS3 org=0x62000000 len=0x02000000 /* AEMIF CS3 region */
}

SECTIONS
{
.text :
{
} > SHARED_RAM
.const :
{
} > SHARED_RAM
.bss :
{
} > SHARED_RAM
.far :
{
} > SHARED_RAM
.stack :
{
} > SHARED_RAM
.data :
{
} > SHARED_RAM
.cinit :
{
} > SHARED_RAM
.sysmem :
{
} > SHARED_RAM
.cio :
{
} > SHARED_RAM
.switch :
{
} > SHARED_RAM

.aemif_mem
{
. += 0x1000;
} load = AEMIF, FILL=0x00000000, type=DSECT, START(_NORStart)
.ddrram
{
. += 0x1000;
} load = DRAM, FILL=0x00000000, type=DSECT, START(_DDRStart)
.extram
{
. += 0x04000000;
} load = DRAM, FILL=0x00000000, type=DSECT, START(_EXTERNAL_RAM_START), END(_EXTERNAL_RAM_END), SIZE(_EXTERNAL_RAM_SIZE)
}

norwriter的cmd里最后几行aemif_mem,ddrram ,extram 是指它自己project的存放还是烧写程序的存放?