TI工程师您好:
C6748裸机运行如何设置让程序在DSPL2RAM内运行呢?目前试到就是改CMD把SECTIONS都对DSPL2RAM,在仿真运行没有问题但是烧到FLASH里上电就不行!
例程都是放在DDR2运行,速度太慢;也尝试过改CMDR的SECTIONS里参数对到SHRAM,再烧到FLASH里运行都是正常的
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 = 0x20000000 /* 512MB DDR2 Data */
}SECTIONS{
.text > DSPL2RAM
.stack > DSPL2RAM
.bss > DSPL2RAM
.cio > DSPL2RAM
.const > DSPL2RAM
.data > DSPL2RAM
.switch > DSPL2RAM
.sysmem > DSPL2RAM
.far > DSPL2RAM
.args > DSPL2RAM
.ppinfo > DSPL2RAM
.ppdata > DSPL2RAM
/* COFF sections */
.pinit > SHRAM
.cinit > SHRAM
/* EABI sections */
.binit > SHRAM
.init_array > SHRAM
.neardata > SHRAM
.fardata > SHRAM
.rodata > SHRAM
.c6xabi.exidx > SHRAM
.c6xabi.extab > SHRAM
}
Shine:
DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 Internal RAM */
SHDSPL2RAM o = 0x11800000 l = 0x00040000 /* 256kB L2 Shared Internal RAM */
上面两部分空间是重复的,物理上对应的是同一块地址空间
另外,L1P/D, ROM是没必要放在cmd里的。放在cmd里的空间用给编译来分配给代码,数据用的空间,显然ROM,L1 CACHE是不会被用到的,所以不要放进来。
Nancy Wang:
加大stack试试,我尝试烧写了简单的GPIO程序在L2ram上,是可以跑起来的。
user4849228:
回复 Nancy Wang:
还是老哥你比较6啊!
user5248685:
回复 Shine:
非常感谢您的答复,不是这个原因,后来网友说是堆栈问题;后来改大堆栈就行了!别的什么都不用改,CCS软件也不会报堆栈不够!
Shine:
回复 user5248685:
感谢分享!