3468|2

81

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

设定中断向量的问题 [复制链接]

我用的是2407,由于现在是学习调试阶段,load programm比较频繁,所以我把板子设定为微处理器模式,程序放在外存中,而不进行烧flash。
  我定义的cmd文件如下:
MEMORY:
  VECS:origin=0x8000,length=0x40
   PROG:origin=0x8044,length=0x7000
...........
但是2407的中断向量是不能重定义的,不知道如果我要定义一个T1定时中断应该怎样定义我的中断向量呢?
哪位高手能不能帮帮我,多谢了!

最新回复

中断向量好像和CMD文件无关吧。CMD文件只分配地址空间。 定义中断向量,应该在中断向量表(就是那个vectors.asm文件)中,把你程序中的中断服务程序入口地址赋给相应的中断向量就行了。 比如程序中,T1中断服务程序是T1_INT(),那么你的vectors.asm就这么来写:           .title        \"vectors.asm\"         .ref        _c_int0,_nothing,_T1_INT         .sect        \".vectors\" reset:        b        _c_int0 int1:        b        _nothing int2:        b        _T1_INT int3:        b        _nothing int4:        b        _nothing int5:        b        _nothing int6:        b        _nothing 这样当T1发生中断时(T1中断属于int2中断组),就会找到TI_INT()了。  详情 回复 发表于 2008-4-3 06:26
点赞 关注

回复
举报

90

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
无论是片内还是片外,0X0--0X3F都应该是中断的入口
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
中断向量好像和CMD文件无关吧。CMD文件只分配地址空间。
定义中断向量,应该在中断向量表(就是那个vectors.asm文件)中,把你程序中的中断服务程序入口地址赋给相应的中断向量就行了。
比如程序中,T1中断服务程序是T1_INT(),那么你的vectors.asm就这么来写:
          .title        \"vectors.asm\"
        .ref        _c_int0,_nothing,_T1_INT

        .sect        \".vectors\"
reset:        b        _c_int0
int1:        b        _nothing
int2:        b        _T1_INT
int3:        b        _nothing
int4:        b        _nothing
int5:        b        _nothing
int6:        b        _nothing
这样当T1发生中断时(T1中断属于int2中断组),就会找到TI_INT()了。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表