Re: WARNING: "rt_task_init" [*.ko] undefined!

Paolo Mantegazza <[email protected]> Thu, 29 Sep 2016 09:22:16 +0200
Newsgroups gmane.linux.real-time.rtai
Message-ID <[email protected]>
Please, start from what you have working in testsuite/kern RTAI 
distribution and modify it to suit your needs. Other set of tests in 
kernel space can be found in showroom CVS.
Paolo

On 09/29/2016 05:35 AM, YamatoKira wrote:
> Hi, everyone
>
> I am building the simple rtai kernel module showed in RTAI 3.4 User 
> Manual rev 0.3, and I got a warning which said that the rt_task_init 
> was not defined during the make process and an error about Invalid 
> Parameters  when I tried to insert the *.ko file. The nm commands 
> seems to verify this.
>
> The outputs of the make/insmod/nm commands are:
> ***********************************************************************
>
> root@Justice:/home/athrun/桌面/mRTAIcodes/KernelMode# make
>
> make -C /lib/modules/3.4-9-rtai-686-pae/build 
> M=/home/athrun/桌面/mRTAIcodes/KernelMode modules 
> -I/usr/realtime-3.4-9-rtai-686-pae/include
>
> make[1]: Entering directory `/usr/src/linux-headers-3.4-9-rtai-686-pae'
>
> CC [M] /home/athrun/桌面/mRTAIcodes/KernelMode/rtai_kernel_mode_task2.o
>
> Building modules, stage 2.
>
> MODPOST 1 modules
>
> WARNING: "rt_task_init" 
> [/home/athrun/桌面/mRTAIcodes/KernelMode/rtai_kernel_mode_task2.ko] 
> undefined!
>
> CC /home/athrun/桌面/mRTAIcodes/KernelMode/rtai_kernel_mode_task2.mod.o
>
> LD [M] /home/athrun/桌面/mRTAIcodes/KernelMode/rtai_kernel_mode_task2.ko
>
> make[1]: Leaving directory `/usr/src/linux-headers-3.4-9-rtai-686-pae'
>
> root@Justice:/home/athrun/桌面/mRTAIcodes/KernelMode# insmod 
> rtai_kernel_mode_task2.ko
>
> Error: could not insert module rtai_kernel_mode_task2.ko: Invalid 
> parameters
>
> root@Justice:/home/athrun/桌面/mRTAIcodes/KernelMode# nm 
> rtai_kernel_mode_task2.ko00000000 b Simple_Task
>
> 00000000 t Simple_Thread
>
> 00000000 r ____versions
>
> 00000000 r __mod_license10
>
> 00000015 r __mod_vermagic5
>
> 0000000c r __module_depends
>
> 00000000 D __this_module
>
> 00000090 T cleanup_module
>
> 00000030 T init_module
>
> U printk
>
> U rt_task_init
>
> ****************************************************************
>
> and the source file rtai_kernel_mode_task2.c:
>
>
> #include <linux/module.h>
> //#include <linux/kernel.h>
> //#include <linux/init.h>
> #include <asm/io.h>
> #include <rtai.h>
> #include <rtai_sched.h>
>
> static RT_TASK Simple_Task;
>
> MODULE_LICENSE("GPL");
>
> static void Simple_Thread(long int t)
> {
>     //This is the real-time thread
>     int i=0;
> for(i=0;i<100;i++)
>     {
> printk("Simple_Thread i = %d",i);
>     }
> }
>
> int init_module(void)
> {
>     int rt_task_init_result=1;
> printk("Init module function starting point\n");
> rt_task_init_result=rt_task_init(&Simple_Task,Simple_Thread,0,3000,0,0,0);
>
> if(0==rt_task_init_result)
>     {
> printk("RTAI task init success!\n");
>     }
>     return 0;
> }
> void cleanup_module(void)
> {
> printk("Cleanup module function starting point\n");
> }
>
> ***********************************************
>
> The makefile:
>
>
> obj-m += rtai_kernel_mode_task2.o
>
> all:
>     make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules 
> -I/usr/realtime-3.4-9-rtai-686-pae/include
>
> clean:
>     make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
>
> ***************************************************
>
> Have you ever met this problem before? Or would you help me to fix it?
>
> 3Q~
>
> yours: C.P.
>
> 2016-09-29
>
>
>
>
> _______________________________________________
> Rtai mailing list
> [email protected]
> https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai

_______________________________________________
Rtai mailing list
[email protected]
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai