怎么设置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里应该还有个中断优先级表要写