计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

TMS320C54x系列DSP中的应用(2)

2017-07-03 01:09
导读:2 扩展地址模式下的中断控制 早期的DSP共有192K的空间(程序、数据和I/O空间各为64K),随着DSP处理能力越来越强,192K的空

2 扩展地址模式下的中断控制

早期的DSP共有192K的空间(程序、数据和I/O空间各为64K),随着DSP处理能力越来越强,192K的空间已经不能满足需要。后来的C54x均提供了扩展地址模式,使程序空间扩展到8M。扩展模式下的中断控制有自己特殊的地方,有必要进行说明。

扩展模式下程序空间的寻址是通过寄存器PC和XPC一同进行的。PC构成低16位地址位,XPC构成高7位地址位。所以保存和恢复XPC是用户必须注意的。如果用户使用的是Far Call指令,则XPC会自动保存和恢复。但在进行中断处理的时候,只有16位的PC寄存器能够自动得到保存(这是由于考虑了非扩展模式下中断的效率问题),所以XPC必须由用户自己来保存,否则在中断返回的时候往往会跳到不同的页面(由返回前后XPC值的不同引起)造成不可预测的后果。程序如表1所示。

由于必须在长跳转之前保存XPC的值,没法使用延迟指令(如FBD),所以中断时延会增加两个周期。

再来考虑另外一种情况:设程序运行在XPC=2的页面上,如果这个时候有中断发生并得到了CPU的响应,DSP会加载PC:PC=(IPTR)<<7+(Vector[n])<<2,XPC的值不发生变化,于是中断向量的地址为:0x20000+0xPC。这就明显地说明:中断向量表必须和应用程序在同一64K的程序空间页面内。如果应用程序不是只分布在一个程序空间页面内,那应该如何处理呢?可分三种类型共四种技巧来应对这样的情况:(1.1)描述的是OVLY为任意的情况;(2.1)~(2.2)描述的是OVLY=1的情况;(3.1)描述的是OVLY=0的情况。

(1.1)有的应用中,一些程序一旦运行是不允许中断的。把不允许中断的程序部分放到扩展空间内,而把中断向量表和ISR以及允许中断的程序

上一篇:基子Atmega103微控制器的家庭信息终端的设计 下一篇:没有了