我用2407做一个液晶显示,因为有存放大量字符数据的常量数组,我把这些数组定义为const unsigned char 类型。cmd文件如下: -o LCD.out - stack 60 MEMORY { PAGE 0: /* Program Memory */ VECS: org=00000h, len=00040h FLASH: org=00050h, len=07FB0h  ROG: org=08000h, len=07FFh PAGE 1: /* Data Memory */ B2: org=00060h, len=00020h /* internal DARAM */ B0: org=00200h, len=00100h /* internal DARAM */ B1: org=00300h, len=00100h /* internal DARAM */ SARAM: org=00800h, len=00800h /* internal SARAM } SECTIONS { .text : {} > FLASH  AGE 0 /* initialized */ .data : {} > FLASH  AGE 0 .cinit : {} > FLASH  AGE 0 /* initialized */ .switch : {} > FLASH  AGE 0 /* initialized */ .const : {} > FLASH PAGE 0 /* initialized */ .bss : {} > SARAM  AGE 1 /* uninitialized */ .stack : {} > SARAM  AGE 1 /* uninitialized */ .vectors : {} > VECS PAGE 0 /* initialized */ } 这样定义是不是应是把这些数组放到flash区里了?!编译的时候没有问题,但是一仿真运行就进到NMI中断了。我外部调试用的RAM是64kbit*16位的。在不外扩存储器的情况下把这些数组怎么样才能放到程序存储区而程序又能正常运行,请教大家这个应该怎么解决,急切等待大家的帮助。万分感谢!!! |