|
我的段分配如下:
MEMORY
{
PAGE 0:
VEC: origin=0x0, length=0x40
EX_PM: origin=0x0044, length=0x7fbe
PAGE 1:
REG: origin=0x0, length=0x60
BLK_B2: origin=0x0060, length=0x20
BLK_B0: origin=0x0200, length=0x100
BLK_B1: origin=0x0300, length=0x100
PERIPH: origin=0x7000, length=0x1000
CPLD: origin=0x8000, length=0x100
STACK: origin=0x8100, length=0x0f00
EX_DM: origin=0x9000, length=0x7000
}
SECTIONS
{
vectors : { } > VEC PAGE 0
.text : { } > EX_PM PAGE 0
.cinit : { } > EX_PM PAGE 0
.switch : { } > EX_PM PAGE 0
.stack : { } > STACK PAGE 1
.bss : { } > EX_DM PAGE 1
.const : { } > EX_DM PAGE 1
.sysmen : { } > EX_DM PAGE 1
}
我在头文件中定义了一个数组,用于存放ASCII码字符的点阵信息,每个字符占八个字节,如下所示:
static unsigned char ASCII[]={
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, // (空格)
0x0000,0x0000,0x0000,0x33F8,0x3000,0x0000,0x0000,0x0000, // !
0x0000,0x0010,0x000C,0x0006,0x0010,0x000C,0x0006,0x0000, // \"
......略...
};
调试程序时不能 GO MAIN,但是将这个数组去掉一大部分(比如,只定义到数字符号\'9\')之后,就可以GO MAIN了.
不知道是什么问题,我应该怎么做?
|
|