4155|7

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

问一下ARM中断函数的格式 [复制链接]

void __irq watchdogIRQ(void)
{
        ledblink();
        isBlink=~isBlink;
        if(isBlink==0)
        {
                blink_count++;
                uart_send_str("Times of blinking are:");
                uart_send_num(blink_count);
                uart_send_str("\n");
        }
        ClearPending(BIT_WDT);
        return;                       
}
在上面的代码中,不清楚“void __irq watchdogIRQ(void)”中__irq是什么意思?然后中断函数的格式又是怎样的,希望高手指教。
此帖出自ARM技术论坛

最新回复

学习了  详情 回复 发表于 2010-6-4 09:30
点赞 关注
 

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这个可能是typedef过来的,或者是一个宏,你search 一下头文件应该就可以找到答案了
此帖出自ARM技术论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不是typedef的或宏...它是特定编译器所支持的关键字.
这样定义的函数会在进入的时候保存所有的寄存器,而不是ATPCS规定的那几个寄存器.
此帖出自ARM技术论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
__irq 在不同的编译器,有不同的处理情况,比如KEIL和ADS是不相同的。 为了方便使用高级语言编写异常处理函数,ARM编译器对异常处理函数做了特定扩展,只要使用关键字_irq,这样编译出来的函数就满足异常响应对现场保护和恢复的需要;可以自动返回原来的现场。
此帖出自ARM技术论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
在ADS编译器中,“__irq”专门用来声明IRQ中断服务程序,如果用“__irq”来声明一个函数,那么该函数表示一个IRQ中断服务程序,编译器便会自动在该函数内部增加中断现场保护的代码.
此帖出自ARM技术论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
是ARM C的关键字~~~~~~~~
此帖出自ARM技术论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

7
 
楼上诸位的解释非常到位了。

请看文档《ADS_DeveloperGuide》:
The __irq keyword:
Preserves all ATPCS corruptible registers
Preserves all other registers (excluding the floating-point registers) used by the function
Exits the function by setting the program counter to (lr - 4) and restoring the CPSR to its original value.
此帖出自ARM技术论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 
学习了
此帖出自ARM技术论坛
 
 
 

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

开源项目 更多>>
    查找数据手册?

    EEWorld Datasheet 技术支持

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

     
    EEWorld订阅号

     
    EEWorld服务号

     
    汽车开发圈

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

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

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

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