假设外设为物理按键,需要连接到支持中断功能的对应的GPIO上。
CPU型号为:三星的S5PV210
本文所描述的中断控制流程适用性广泛,因为主流CPU的中断设计原理是相通的,只有细节的差异。
第一部分:按键外设对应中断功能的配置
1、按键对应的GPIO模式设置:设置为EXT_INT模式
2、该外设对应的中断触发模式设置:电平或边沿触发
3、该外设中断Mask和Pend寄存器位设置
4、编写该外设中断对应的ISR中断处理函数程序
第二部分:CPU内部响应中断的配置
Part1:前期准备工作
1、初始化系统异常控制器函数system_init_exception()
功能如下:
绑定异常向量表对应的中断服务函数;
关闭所有中断使能;
选择中断类型为IRQ;
清空中断向量控制地址寄存器VICxADDR
2、绑定写好的中断处理函数程序ISR到中断控制器对应的VICnVECTADDR寄存器
3、使能对应中断向量编号的中断源,即外设按键对应的中断源编号
Part2:外部按键产生中断后,CPU响应该中断
1、CPU读取异常向量表信息,并跳转到IRQ函数的入口地址
2、先进行程序现场保护(在Start.s完成),然后跳转到irq_handler()函数,
3、该irq_handler()函数功能用于判断具体哪个中断向量寄存器VIC发生中断,并调用对应的外设按键对应的ISR中断处理函数
4、ISR函数执行完毕后,程序现场恢复(在Start.s完成),并返回到主函数继续执行后续的程序。

本文介绍了一种基于三星S5PV210 CPU的按键中断处理流程。首先配置按键外设对应的GPIO模式为EXT_INT,设置中断触发方式及寄存器。接着通过初始化系统异常控制器,绑定中断服务函数至VICnVECTADDR寄存器并使能对应中断源。当按键产生中断时,CPU读取异常向量表信息,调用ISR中断处理函数。
最低0.47元/天 解锁文章
3072

被折叠的 条评论
为什么被折叠?



