All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] Interrupt service routine problem
@ 2009-05-25 12:06 Shashank Bhatia
  2009-05-25 13:37 ` Stefan Kisdaroczi
  0 siblings, 1 reply; 4+ messages in thread
From: Shashank Bhatia @ 2009-05-25 12:06 UTC (permalink / raw
  To: xenomai

Dear All,

I was trying to make a simple kernel module, and was unable to insert it into 
the kernel space. The code and Error messages are provided hereunder:


Code:
#include <native/task.h>
#include <native/timer.h>
#include <native/intr.h>

#define STACK_SIZE         0 

RT_INTR isrDesc;


int isrKbdHandler(struct xnintr* _idesc) {


  printk("module: catch a key\n");

  return RT_INTR_PROPAGATE; 

}



int init_module (void) {

  printk("module: Init\n");
  rt_intr_create(&isrDesc, "kbdisr", (unsigned)1, &isrKbdHandler, NULL, 0);
  rt_intr_enable(&isrDesc);


  return 0;
}



void cleanup_module (void) {

 
  rt_intr_delete(&isrDesc);
  
  printk("module: exit\n");
}

MODULE_LICENSE("GPL");




Makefile:


obj-m  = module.o


KDIR	= /lib/modules/$(shell uname -r)/build
PWD		= $(shell pwd)
EXTRA_CFLAGS = -I/usr/xenomai/include -I/usr/include/ 
default:
	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
	rm -f *.o *.ko *.mod.c *symvers *~



Error message:
make -C /lib/modules/2.6.25.11-default/build 
SUBDIRS=/home/bhatia/rtprog/interupt modules
make[1]: Entering directory `/usr/src/linux-2.6.25.11'
  CC [M]  /home/bhatia/rtprog/interupt/module.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "rt_intr_enable" [/home/bhatia/rtprog/interupt/module.ko] undefined!
WARNING: "rt_intr_create" [/home/bhatia/rtprog/interupt/module.ko] undefined!
WARNING: "rt_intr_delete" [/home/bhatia/rtprog/interupt/module.ko] undefined!
  CC      /home/bhatia/rtprog/interupt/module.mod.o
  LD [M]  /home/bhatia/rtprog/interupt/module.ko
make[1]: Leaving directory `/usr/src/linux-2.6.25.11'



Error while insmoding:
insmod: error inserting './module.ko': -1 Unknown symbol in module







Thanks and Regards,

Shashank

-------------------------------------
Hi-Tech Gears Limited, Gurgaon, India






^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xenomai-help] Interrupt service routine problem
  2009-05-25 12:06 [Xenomai-help] Interrupt service routine problem Shashank Bhatia
@ 2009-05-25 13:37 ` Stefan Kisdaroczi
  2009-05-26  5:43   ` Shashank Bhatia
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Kisdaroczi @ 2009-05-25 13:37 UTC (permalink / raw
  To: Shashank Bhatia; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 2697 bytes --]

Hi,

the rt_intr_* functions are disabled by default in the kernel configuration [1].

You can enable them here:
Real-time subsystem -> Interfaces -> Native API -> Interrupts

For device drivers its suggested that you use the RTDM skin and not the
rt_intr_* calls from the native API.

kisda

[1] https://mail.gna.org/public/xenomai-help/2006-07/msg00197.html


Shashank Bhatia schrieb:
> Dear All,
> 
> I was trying to make a simple kernel module, and was unable to insert it into 
> the kernel space. The code and Error messages are provided hereunder:
> 
> 
> Code:
> #include <native/task.h>
> #include <native/timer.h>
> #include <native/intr.h>
> 
> #define STACK_SIZE         0 
> 
> RT_INTR isrDesc;
> 
> 
> int isrKbdHandler(struct xnintr* _idesc) {
> 
> 
>   printk("module: catch a key\n");
> 
>   return RT_INTR_PROPAGATE; 
> 
> }
> 
> 
> 
> int init_module (void) {
> 
>   printk("module: Init\n");
>   rt_intr_create(&isrDesc, "kbdisr", (unsigned)1, &isrKbdHandler, NULL, 0);
>   rt_intr_enable(&isrDesc);
> 
> 
>   return 0;
> }
> 
> 
> 
> void cleanup_module (void) {
> 
>  
>   rt_intr_delete(&isrDesc);
>   
>   printk("module: exit\n");
> }
> 
> MODULE_LICENSE("GPL");
> 
> 
> 
> 
> Makefile:
> 
> 
> obj-m  = module.o
> 
> 
> KDIR	= /lib/modules/$(shell uname -r)/build
> PWD		= $(shell pwd)
> EXTRA_CFLAGS = -I/usr/xenomai/include -I/usr/include/ 
> default:
> 	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
> 
> clean:
> 	rm -f *.o *.ko *.mod.c *symvers *~
> 
> 
> 
> Error message:
> make -C /lib/modules/2.6.25.11-default/build 
> SUBDIRS=/home/bhatia/rtprog/interupt modules
> make[1]: Entering directory `/usr/src/linux-2.6.25.11'
>   CC [M]  /home/bhatia/rtprog/interupt/module.o
>   Building modules, stage 2.
>   MODPOST 1 modules
> WARNING: "rt_intr_enable" [/home/bhatia/rtprog/interupt/module.ko] undefined!
> WARNING: "rt_intr_create" [/home/bhatia/rtprog/interupt/module.ko] undefined!
> WARNING: "rt_intr_delete" [/home/bhatia/rtprog/interupt/module.ko] undefined!
>   CC      /home/bhatia/rtprog/interupt/module.mod.o
>   LD [M]  /home/bhatia/rtprog/interupt/module.ko
> make[1]: Leaving directory `/usr/src/linux-2.6.25.11'
> 
> 
> 
> Error while insmoding:
> insmod: error inserting './module.ko': -1 Unknown symbol in module
> 
> 
> 
> 
> 
> 
> 
> Thanks and Regards,
> 
> Shashank
> 
> -------------------------------------
> Hi-Tech Gears Limited, Gurgaon, India
> 
> 
> 
> 
> 
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xenomai-help] Interrupt service routine problem
  2009-05-25 13:37 ` Stefan Kisdaroczi
@ 2009-05-26  5:43   ` Shashank Bhatia
  2009-05-26 11:05     ` Stefan Kisdaroczi
  0 siblings, 1 reply; 4+ messages in thread
From: Shashank Bhatia @ 2009-05-26  5:43 UTC (permalink / raw
  To: Stefan Kisdaroczi; +Cc: xenomai

Thanks a lot, i got my ISR working. I was also looking for some tutorial on 
RTDM, do you have any source for it ?

Thanks ,
Shashank



On Mon May 25 2009 07:07:45 pm you wrote:
> Hi,
>
> the rt_intr_* functions are disabled by default in the kernel configuration
> [1].
>
> You can enable them here:
> Real-time subsystem -> Interfaces -> Native API -> Interrupts
>
> For device drivers its suggested that you use the RTDM skin and not the
> rt_intr_* calls from the native API.
>
> kisda
>
> [1] https://mail.gna.org/public/xenomai-help/2006-07/msg00197.html
>
> Shashank Bhatia schrieb:
> > Dear All,
> >
> > I was trying to make a simple kernel module, and was unable to insert it
> > into the kernel space. The code and Error messages are provided
> > hereunder:
> >
> >
> > Code:
> > #include <native/task.h>
> > #include <native/timer.h>
> > #include <native/intr.h>
> >
> > #define STACK_SIZE         0
> >
> > RT_INTR isrDesc;
> >
> >
> > int isrKbdHandler(struct xnintr* _idesc) {
> >
> >
> >   printk("module: catch a key\n");
> >
> >   return RT_INTR_PROPAGATE;
> >
> > }
> >
> >
> >
> > int init_module (void) {
> >
> >   printk("module: Init\n");
> >   rt_intr_create(&isrDesc, "kbdisr", (unsigned)1, &isrKbdHandler, NULL,
> > 0); rt_intr_enable(&isrDesc);
> >
> >
> >   return 0;
> > }
> >
> >
> >
> > void cleanup_module (void) {
> >
> >
> >   rt_intr_delete(&isrDesc);
> >
> >   printk("module: exit\n");
> > }
> >
> > MODULE_LICENSE("GPL");
> >
> >
> >
> >
> > Makefile:
> >
> >
> > obj-m  = module.o
> >
> >
> > KDIR	= /lib/modules/$(shell uname -r)/build
> > PWD		= $(shell pwd)
> > EXTRA_CFLAGS = -I/usr/xenomai/include -I/usr/include/
> > default:
> > 	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
> >
> > clean:
> > 	rm -f *.o *.ko *.mod.c *symvers *~
> >
> >
> >
> > Error message:
> > make -C /lib/modules/2.6.25.11-default/build
> > SUBDIRS=/home/bhatia/rtprog/interupt modules
> > make[1]: Entering directory `/usr/src/linux-2.6.25.11'
> >   CC [M]  /home/bhatia/rtprog/interupt/module.o
> >   Building modules, stage 2.
> >   MODPOST 1 modules
> > WARNING: "rt_intr_enable" [/home/bhatia/rtprog/interupt/module.ko]
> > undefined! WARNING: "rt_intr_create"
> > [/home/bhatia/rtprog/interupt/module.ko] undefined! WARNING:
> > "rt_intr_delete" [/home/bhatia/rtprog/interupt/module.ko] undefined! CC  
> >    /home/bhatia/rtprog/interupt/module.mod.o
> >   LD [M]  /home/bhatia/rtprog/interupt/module.ko
> > make[1]: Leaving directory `/usr/src/linux-2.6.25.11'
> >
> >
> >
> > Error while insmoding:
> > insmod: error inserting './module.ko': -1 Unknown symbol in module
> >
> >
> >
> >
> >
> >
> >
> > Thanks and Regards,
> >
> > Shashank
> >
> > -------------------------------------
> > Hi-Tech Gears Limited, Gurgaon, India
> >
> >
> >
> >
> >
> > _______________________________________________
> > Xenomai-help mailing list
> > Xenomai-help@domain.hid
> > https://mail.gna.org/listinfo/xenomai-help



-------------------------------------
Hi-Tech Gears Limited, Gurgaon, India






^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xenomai-help] Interrupt service routine problem
  2009-05-26  5:43   ` Shashank Bhatia
@ 2009-05-26 11:05     ` Stefan Kisdaroczi
  0 siblings, 0 replies; 4+ messages in thread
From: Stefan Kisdaroczi @ 2009-05-26 11:05 UTC (permalink / raw
  To: Shashank Bhatia; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 3846 bytes --]

Shashank Bhatia schrieb:
> Thanks a lot, i got my ISR working. I was also looking for some tutorial on 
> RTDM, do you have any source for it ?

this helped me to implement a rtdm driver:

1) captain.at: Hard Real Time Driver Example Tutorial with MMAP using the RTDM [1]
   -> simple examples

2) Ondrej Cevan: Installation and Implementation of Xenomai on an Industrial
   Component and Porting a Driver for an Industrial IO-Card to the Xenomai
   Infrastructure [2]
 -> See chapter 4 "Linux Driver" and Chapter 5 "Xenomai RTDM Driver"

3) Xenomai Source: ksrc/drivers/*

[1] http://www.captain.at/xenomai-real-time-driver-example.php
[2] http://stud3.tuwien.ac.at/~e0226686/xenomai/xenomai_implementation.pdf

good luck
kisda


> Thanks ,
> Shashank
> 
> 
> 
> On Mon May 25 2009 07:07:45 pm you wrote:
>> Hi,
>>
>> the rt_intr_* functions are disabled by default in the kernel configuration
>> [1].
>>
>> You can enable them here:
>> Real-time subsystem -> Interfaces -> Native API -> Interrupts
>>
>> For device drivers its suggested that you use the RTDM skin and not the
>> rt_intr_* calls from the native API.
>>
>> kisda
>>
>> [1] https://mail.gna.org/public/xenomai-help/2006-07/msg00197.html
>>
>> Shashank Bhatia schrieb:
>>> Dear All,
>>>
>>> I was trying to make a simple kernel module, and was unable to insert it
>>> into the kernel space. The code and Error messages are provided
>>> hereunder:
>>>
>>>
>>> Code:
>>> #include <native/task.h>
>>> #include <native/timer.h>
>>> #include <native/intr.h>
>>>
>>> #define STACK_SIZE         0
>>>
>>> RT_INTR isrDesc;
>>>
>>>
>>> int isrKbdHandler(struct xnintr* _idesc) {
>>>
>>>
>>>   printk("module: catch a key\n");
>>>
>>>   return RT_INTR_PROPAGATE;
>>>
>>> }
>>>
>>>
>>>
>>> int init_module (void) {
>>>
>>>   printk("module: Init\n");
>>>   rt_intr_create(&isrDesc, "kbdisr", (unsigned)1, &isrKbdHandler, NULL,
>>> 0); rt_intr_enable(&isrDesc);
>>>
>>>
>>>   return 0;
>>> }
>>>
>>>
>>>
>>> void cleanup_module (void) {
>>>
>>>
>>>   rt_intr_delete(&isrDesc);
>>>
>>>   printk("module: exit\n");
>>> }
>>>
>>> MODULE_LICENSE("GPL");
>>>
>>>
>>>
>>>
>>> Makefile:
>>>
>>>
>>> obj-m  = module.o
>>>
>>>
>>> KDIR	= /lib/modules/$(shell uname -r)/build
>>> PWD		= $(shell pwd)
>>> EXTRA_CFLAGS = -I/usr/xenomai/include -I/usr/include/
>>> default:
>>> 	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
>>>
>>> clean:
>>> 	rm -f *.o *.ko *.mod.c *symvers *~
>>>
>>>
>>>
>>> Error message:
>>> make -C /lib/modules/2.6.25.11-default/build
>>> SUBDIRS=/home/bhatia/rtprog/interupt modules
>>> make[1]: Entering directory `/usr/src/linux-2.6.25.11'
>>>   CC [M]  /home/bhatia/rtprog/interupt/module.o
>>>   Building modules, stage 2.
>>>   MODPOST 1 modules
>>> WARNING: "rt_intr_enable" [/home/bhatia/rtprog/interupt/module.ko]
>>> undefined! WARNING: "rt_intr_create"
>>> [/home/bhatia/rtprog/interupt/module.ko] undefined! WARNING:
>>> "rt_intr_delete" [/home/bhatia/rtprog/interupt/module.ko] undefined! CC  
>>>    /home/bhatia/rtprog/interupt/module.mod.o
>>>   LD [M]  /home/bhatia/rtprog/interupt/module.ko
>>> make[1]: Leaving directory `/usr/src/linux-2.6.25.11'
>>>
>>>
>>>
>>> Error while insmoding:
>>> insmod: error inserting './module.ko': -1 Unknown symbol in module
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Thanks and Regards,
>>>
>>> Shashank
>>>
>>> -------------------------------------
>>> Hi-Tech Gears Limited, Gurgaon, India
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Xenomai-help mailing list
>>> Xenomai-help@domain.hid
>>> https://mail.gna.org/listinfo/xenomai-help
> 
> 
> 
> -------------------------------------
> Hi-Tech Gears Limited, Gurgaon, India
> 
> 
> 
> 
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-05-26 11:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-25 12:06 [Xenomai-help] Interrupt service routine problem Shashank Bhatia
2009-05-25 13:37 ` Stefan Kisdaroczi
2009-05-26  5:43   ` Shashank Bhatia
2009-05-26 11:05     ` Stefan Kisdaroczi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.