Welcome to aerial gas-station of eagle!!! let's make progress together!!! 

设为首页|加入收藏|加油站首页|21ic首页|21ic社区|21ic笔记|加油站地图|交换链接|加入加油站|免责声明|联系站长|后台管理
电子电源金典|嵌入式金典|编程金典|器件应用金典|电子入门金典|电路DIY金典|PCB金典|汽车电子金典|葵花金典|清静轩专栏

 

 
 

加油站公告
载入中...

加油站导航
载入中...

加油站新文
载入中...

评论加油站
载入中...

加油站留言
载入中...

加油站信息

载入中...

 

 

 

 
 

加油站美文热荐:

 

 

 

 

DSP 5402 中断向量表 FAQ
鹰击长空 发表于 2006-6-10 17:37:00    阅读全文 | 回复(1) | 引用通告 | 编辑

中断向量表

1) DSP('5402)的软件中断和硬件中断在使用时,有什么区别?
2)'5402的中断向量地址是否和8051单片机一样,是固定的?
3)中断如何调用?

1).软件中断通常用于调试过程中或者程序有模拟中断要求时。软中断有点想DOS下的INT 21H,它的入口地址是确定的,不会受代码长度的影响。

2).不是,0X0FF80是固定的,也就是说默认情况下中断起始在0X0FF80,但可通过改变PMST中的中断向量位置设置改变它。

3).中断调用和单片机的一样呀,呵呵

请问关于pmst中iptr设置中断向量表,具体这九位如何对应实际向量地址的?怎么计算?比如1ff是ff80,为什么00011000就是0c00了呢?

iptr存放中断向量区的高9位地址,在其后补七个零即是实际中断向量地址:

实际地址:1111 1111 1000 0000 (ff80h)
iptr存放:1111 1111 1 (1ffh)
再举一例:
实际地址:0000 1100 0000 0000 (0c00h)
iptr存放:0000 1100 0 (018h)

c5402的中断复位区域为rom,(ff80~)调试时无法写入代码的,那如果我要调试中断怎么办?比如说产生了一个中断,系统便要去ff80+n去找中断服务程序的入口,而那个区域在调试的时候不能写入,怎么办?

要先重定向到ram区域才行,你可在程序的开始重定向。

就是在程序一开始设置PMST:

首先定义:
K_IPTR .set 00011000b<<07 ;point 0C00H 新的向量区
K_MP_MC .set 0b<<06
K_OVLY .set 1b<<05
K_AVIS .set 0b<<04
K_DROM .set 0b<<03
K_CLKOFF .set 0b<<02
K_PMST_RESR .set 00b<<0
K_PMST .set
  K_IPTR|K_MP_MC|K_OVLY|
  K_AVIS|K_DROM|K_CLKOFF|K_PMST_RESR

在程序的开始:
STM #K_PMST,PMST ;从此向量区就改了!

明白了吗?

是否自己定义的中断都要在中断向量表中说明,但中断向量表是在 On-chip ROM(因为要用bootloader,所以要映射在片ROM)上的,如何重定向,定向在何处。

自己定义的中断必须在中断向量表中说明。Pmst的高9位可以决定了向量表的位置。对C54X你可以任意修改高位地址来决定中断向量表。例如,C54X复位后 PMST的15-7BIT全为1,所以中断向量表的位置在FF80。

雄鹰奋飞已是时,直搏云天啸沧海!欢迎您莅临[空中加油站],让我们共同加油,共同翱翔!!!

发表评论:
载入中...
 

 

 

 

 
         
       

 

 

 

 
 

 

--------------------------请留下您的足迹噢 -------------------

 
 
 

加油站队友

¤加入加油站¤ 

1 清静轩主人

2 lsw0136

加油站友情博客

加油站友情网站

网博电源网

21IC器件搜索

 

 

 

 

  

 
 

  

 
 

 

 

 

 

统计数据从2006年07月09 日16:01开始00Counter.com

统计数据从2006年07月15日11:38开始,点击图标察看流量

copyright?2006 雄鹰的空中加油站     站长:鹰击长空