各位专家,目前用ccs5.3开发C5534,烧Flash的时候发现对于bin文件导入后的 Uint16 bootImage[64000]数组,只能访问0~32767地址,访问32768时得到错误值,很像越界了,百思不得其解,代码如下,求助!
//源代码
#pragma DATA_SECTION(bootImage, ".buffer1")
Uint16 bootImage[64000];
1.直接用 temp = bootImage[32768];访问都得不到正确数值
2.进入调试环境观察expression的方式看到 bootImage[32768]内容正确
3. map文件中 _bootImage的 Word address为0x00010000
cmd文件===========================================================================
/******************************************************************************/
-stack 0x2000 /* Primary stack size */
-sysstack 0x1000 /* Secondary stack size */
-heap 0x2000 /* Heap area size */
-c /* Use C linking conventions: auto-init vars at runtime */
-u _Reset /* Force load of reset interrupt handler */
/* SPECIFY THE SYSTEM MEMORY MAP */
MEMORY
{
PAGE 0: /* ---- Unified Program/Data Address Space ---- */
MMR (RWIX): origin = 0x000000, length = 0x0000c0 /* MMRs */
DARAM0 (RWIX): origin = 0x0000c0, length = 0x00ff40 /* 64KB - MMRs */
SARAM0 (RWIX): origin = 0x010000, length = 0x010000 /* 64KB */
SARAM1 (RWIX): origin = 0x020000, length = 0x01FE00 /* 128KB -512B*/
VECS (RWIX): origin = 0x03FE00, length = 0x000200 /* 512B */
PDROM (RIX): origin = 0xff8000, length = 0x008000 /* 32KB */
PAGE 2: /* -------- 64K-word I/O Address Space -------- */
IOPORT (RWI) : origin = 0x000000, length = 0x020000
}
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
SECTIONS
{
.text >> SARAM0 /* Code */
/* Both stacks must be on same physical memory page */
.stack > DARAM0 /* Primary system stack */
.sysstack > DARAM0 /* Secondary system stack */
.data >> DARAM0|SARAM0 /* Initialized vars */
.bss >> DARAM0|SARAM0 /* Global & static vars */
.const >> DARAM0|SARAM0 /* Constant data */
.sysmem > DARAM0|SARAM0 /* Dynamic memory (malloc) */
.switch > SARAM0 /* Switch statement tables */
.cinit > SARAM0 /* Auto-initialization tables */
.pinit > SARAM0 /* Initialization fn tables */
.cio > SARAM0 /* C I/O buffers */
.args > SARAM0 /* Arguments to main() */
vectors > VECS /* Interrupt vectors */
.buffer1 > SARAM1
.ioport > IOPORT PAGE 2 /* Global & static ioport vars */
}