oCgyITrH.rar (534.88 KB)
片子是9S12XDT512,SMALL模式。 在prm文件中,我定义了一个空间 MySection INTO PAGE_FE; 而 PAGE_FE = READ_ONLY 0xFE8000 TO 0xFEBFFF; 然后在main,c里,我将一个延时程序放到了自定义的这个空间里 #pragma CODE_SEG MySection void delay(void) { int Loop1,Loop2; for(Loop2=0;Loop2<1000;Loop2++) for(Loop1=0;Loop1<400;Loop1++); } #pragma CODE_SEG DEFAULT 现在的问题是,当我将这个空间定义到PAGE_FE,程序可以正常运行,而定义到其它可页寻址的空间,如PAGE_FC等的时候,程序就不跑了!并且在memory窗口的对应地址上,可以看到我定义的这个程序的代码!但程序好象不能调用一样。 PAGE_FE对应的是线性地址0x8000~0xc000的全局地址空间,所以将程序放到这里面能够正常运行是可以理解的。但为什么定义到其它的可页寻址空间时,程序就不跑了。难道在SMALL模式下,不能对可页寻址空间进行访问?
|