标题:
代码存放在NON_BANKED和默认存储区有多大区别?
[打印本页]
作者:
acmesky
时间:
2007-8-29 10:08
标题:
代码存放在NON_BANKED和默认存储区有多大区别?
我听说中断服务程序存放在默认的存储段内会出问题,是这样么?
作者:
strongchen
时间:
2007-8-29 13:41
对,中断一定要放在非分页存储区里。因为中断矢量地址是16位的,放在分页地址中就无法映射了。
作者:
acmesky
时间:
2007-8-29 16:18
阿,明白了,dp256的中断向量是16位的,分页寻址还需要页码,所以没法寻址,是这个意思吧
作者:
strongchen
时间:
2007-8-30 11:51
对。
作者:
cjxily
时间:
2010-10-23 16:59
4#
strongchen
应该也可以访问吧,用GPAGE
作者:
zephanshaka
时间:
2010-10-25 17:22
进中断ISR前保存现场时硬件不会把PPAGE的值保存到堆栈,而离开ISR时需要恢复中断之前的现场,没有PPAGE程序就无法正常执行下去,而在NOBANKED区16位巡址不会改变中断前PPAGE的值,故能保证中断能正常返回。用GPAGE的话实际也是跟PPAGE关联的,PPAGE在ISR中被改变,必然导致不能恢复中断前的现场。如果你需要在芯片上移植UcOS的代码,这点会很重要。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0