怎么设置VxWorks GPIO bank 3 PIN14中断,需要配置哪些寄存器。目前,有人说,指需要将调用intConneted(),连接到中断好45和中断服务程序,然后再调用intenble(45)就可以了,但是,我发现无法触发中断。按照OMAP138手册的话,应该还要设置PSC和中断控制寄存器。我看了下,寄存器挺多的,有没有例程可以参考。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
怎么设置VxWorks GPIO bank 3 PIN14中断,需要配置哪些寄存器。目前,有人说,指需要将调用intConneted(),连接到中断好45和中断服务程序,然后再调用intenble(45)就可以了,但是,我发现无法触发中断。按照OMAP138手册的话,应该还要设置PSC和中断控制寄存器。我看了下,寄存器挺多的,有没有例程可以参考。
之前另外一个项目是的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程序停止了运行。
不知为何,两三个人在那里不知道怎么回事
哈哈,虽然时间间隔已经很远,但是还是要分享一下我的解决方案。在vxworks6.8下我的解决方式是这样的:
1、内核添加VxBus Legacy Interrupt Support 支持
2、在137的bsp的hwconf.c文件中找到中断控制输入表omapL137IntCtlrInputs这个数组并添加一个driver名称为“legacy”的中断描述,其中pin和index就是中断号,且必须一致。
3、使用intConnect函数挂接对应的中断即可。
这只是一个参考的方案,如果有更好的方案希望大家一起分享呀
你这不是在VxBus框架下使用gpio中断吧,hwconf里应该还有个中断优先级表要写
你这不是在VxBus框架下使用gpio中断吧,hwconf里应该还有个中断优先级表要写
您好,最近在学习vxorks ,硬件使用的是138LCDK ,IDE是workBench3.2,使用Vxworks 6.8,
请问您这边是否有类似的例程以及学习资料,感觉学这个操作系统没啥头绪,不知所措,还请多多指教,谢谢!
legacy是vxbus的一个非内部设备,通过intconect连接的这些中断都是挂接到legacy这个设备下的。hwconf.c的struct intrCtrlPriority结构需要在对应的位置配置中断优先级