片子是9S12XDT512,同样一个程序,在SMALL模式下运行正常。然而如果选择了BANKED模式,则一旦产生了中断响应之后,程序就死掉了,用P&E调试,在“Assemble”框中看到,程序又跳回到了 0000 BGND 了。
我在所有的中断部分都加了#pragma CODE_SEG NON_BANKED 了。
版主能再帮我分析下为什么会出现那样的情况吗?
DEFAULT_ROM, NON_BANKED, /* runtime routines which must not be banked */
COPY /* copy down information: how to initialize variables */
/* in case you want to use ROM_4000 here as well, make sure
that all files (incl. library files) are compiled with the
option: -OnB=b */
INTO ROM_C000/*, ROM_4000*/;
“#pragma CODE_SEG NON_BANKED”即使对中断进行了分配,仍然跟其他程序一起存放在NON_BANKED区域(0xC000)
[attach]5064[/attach]
汗,刚才忘记点“上传”了!
你的程序中断是怎么申明的,中断的入口地址没有找到,呵
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |