如何确定EINT中断唤醒源




[DESCRIPTION]


kernel log中有wake up by EINT,但是不知道是哪个外部中断造成的唤醒


[SOLUTION]


(1)打开Mt_eint.c中的EINT_DEBUG宏,重新抓取kernel log
(2)在log中wake up by EINT之后,查找EINT_STA的值
EINT_STA的值是中断状态寄存器,每个bit对应一个EINT channel,
所以EINT_STA的值就是0x1<<index(index即EINT channel)
eg:比如EINT_STA=0x200,对应的EINT channel就是9
(3)查看cust_eint.h,跟据EINT channel确定是哪个模块
至于log中“wake up by EINT (0x20)(0x4)”的0x20指的是EINT wakesrc的index,是WAKE_SRC_EINT这个宏的值








文章转自×××论坛,原文链接:http://bbs.×××/thread-54170-1-1.html