TI中文支持网
TI专业的中文技术问题搜集分享网站

omap138设置VxWorks GPIO中断

怎么设置VxWorks GPIO bank 3 PIN14中断,需要配置哪些寄存器。目前,有人说,指需要将调用intConneted(),连接到中断好45和中断服务程序,然后再调用intenble(45)就可以了,但是,我发现无法触发中断。按照OMAP138手册的话,应该还要设置PSC和中断控制寄存器。我看了下,寄存器挺多的,有没有例程可以参考。

Tony Tang:

系统中有没有其它调通的中断?借鉴其流程。

jinyong li:

回复 Tony Tang:

之前另外一个项目是的bank3pin14中断是在DSP那边的,现在想把这个中断用在ARM这里,结果没反应。我们的大概流程如下,

1、BITEN= 0x40000000;

2、清除bank3pin14上升沿触发;

3、设置bank3pin14下降沿触发;,

4、intconnect( IVEC_TO_INUM(45),(VOIDFUNCPTR)GPIO_BANK3_INTERRUPT,0);

5、intenable(45);

其中GPIO_BANK3_INTERRUPT为中断函数,发现,只用下降沿触发中断后,ARM就卡死了,ARM程序停止了运行。

不知为何,两三个人在那里不知道怎么回事

Tony Tang:

回复 jinyong li:

函数GPIO_BANK3_INTERRUPT是怎么写的?前面有没有加interrupt关键字?确认在VX下ISR函数前要不要加关键字?

mangui zhang:

AM335X能不能跑Vxworks啊

Tony Tang:

回复 mangui zhang:

首先,肯定可以跑,VxWorks一直以来都是由windriver支持的,BSP也由他们提供。

mangui zhang:

回复 Tony Tang:

好的     谢谢你的指点     准备慢慢摸索

jinyong li:

回复 Tony Tang:

初次使用,不知道要加什么关键字,可以说一下吗,谢谢

zhiyuan wei2:

哈哈,虽然时间间隔已经很远,但是还是要分享一下我的解决方案。在vxworks6.8下我的解决方式是这样的:

1、内核添加VxBus Legacy Interrupt Support 支持

2、在137的bsp的hwconf.c文件中找到中断控制输入表omapL137IntCtlrInputs这个数组并添加一个driver名称为“legacy”的中断描述,其中pin和index就是中断号,且必须一致。

3、使用intConnect函数挂接对应的中断即可。

这只是一个参考的方案,如果有更好的方案希望大家一起分享呀

DachuanLiu:

回复 zhiyuan wei2:

你这不是在VxBus框架下使用gpio中断吧,hwconf里应该还有个中断优先级表要写

DachuanLiu:

回复 zhiyuan wei2:

你这不是在VxBus框架下使用gpio中断吧,hwconf里应该还有个中断优先级表要写

赞(0)
未经允许不得转载:TI中文支持网 » omap138设置VxWorks GPIO中断
分享到: 更多 (0)