Re: RTAI module: rtai functions undefined
Junhong Liu <[email protected]>
| Newsgroups | gmane.linux.real-time.rtai |
|---|---|
| Message-ID | <CAJWYAW1aH2CG-sfnYj02-LvX9L4ZDfvRhgzui99VRNDq+uHheQ@mail.gmail.com> |
Hello! I have something positive to tell, which is the example from showroom/user/latency works just fine on my system. Could somebody help me with this MODULE program, I really need it to work in my WORK. Thank you very much. Junhong On Sat, Feb 20, 2016 at 4:59 AM, Junhong Liu <[email protected]> wrote: > Hello, Paolo, > > Thank you very much! This short program is a miniature from the showroom > /kern/latency. For simplicity and clarity, only a few codes are included > while the symptom is the same. > > 1. the short program is now called "latency.h": > > // ------ rtProcess.c ----- define MODULE > > #include <linux/kernel.h> /* Needed for KERN_INFO */ > #include <linux/module.h> /*Needed by all modules*/ > #include <linux/moduleparam.h> > #include <linux/init.h> /* Needed for the macros */ > #include <linux/stat.h> > #include <linux/proc_fs.h> > #include <linux/stringify.h> > #include <asm/io.h> > #include <linux/errno.h> /*EINVAL, ENOMEN*/ > > #include <rtai.h> // RTAI configuration switches > #include <rtai_sched.h> > #include <rtai_sem.h> // RTAI semaphores > #include <rtai_fifos.h> > #include <rtai_proc_fs.h> > > MODULE_LICENSE("GPL"); > > #define TICK_PERIOD 1000000 > #define TASK_PRIORITY 1 > #define STACK_SIZE 1024 > #define FIFO 0 > > static int __latency_init(void) // entry point > { > // ---1--- > rt_set_oneshot_mode(); > start_rt_timer(1); // the execution starts > // ---1--- > printk("Hello in INIT!\n"); > > return 0; > } > > static void __latency_exit(void) > { > // ---2--- > stop_rt_timer(); rt_busy_sleep(10000000); > // ---2--- > > printk("Goodbye & EXIT!\n"); > return; > } > > module_init(__latency_init); > module_exit(__latency_exit); > > 2. The "Makefile" is: > #Makefile > > #RTAI_CFLAGS += $(shell rtai-config --lxrt-cflags) > # # -I. -I/usr/realtime/include -Wall -Wstrict-prototypes -pipe > > #RTAI_LIBFLAGS += $(shell rtai-config --lxrt-ldflags ) > # -L/usr/realtime/lib -llxrt -lpthread > rtai_srctree := /usr/src/rtai > EXTRA_CFLAGS += -I$(LINUX)/include -D__KERNEL__ -DMOUDLE -O2 > EXTRA_CFLAGS += $(shell rtai-config --module-cflags) -msse \ > -I/usr/realtime/include -D__IN_RTAI__ \ > -I$(rtai_srctree)/base/include \ > -mpreferred-stack-boundary=4 > > KBUILD_EXTRA_SYMBOLS := $(shell rtai-config > --prefix)/modules/Module.sysmvers > > obj-m += latency.o > > CURRENT = $(shell uname -r) > KDIR ?= /lib/modules/$(CURRENT)/build > PWD := $(shell pwd) > > modules: > $(MAKE) -C $(KDIR) M=$(PWD) modules > > modules_install: > $(MAKE) -C $(KDIR) M=$(PWD) modules_install > > clean: > $(MAKE) -C $(KDIR) M=$(PWD) clean > > 3. By "make" as: > root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# make, the > following message comes: > root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# make > make -C /lib/modules/3.10.32-rtai/build M=/home/huapeng/Yritys/RT/latency > modules > make[1]: Entering directory `/usr/src/linux-headers-3.10.32-rtai' > CC [M] /home/huapeng/Yritys/RT/latency/latency.o > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by > default] > <built-in>:0:0: note: this is the location of the previous definition > Building modules, stage 2. > MODPOST 1 modules > WARNING: "rt_busy_sleep" [/home/huapeng/Yritys/RT/latency/latency.ko] > undefined! > WARNING: "stop_rt_timer" [/home/huapeng/Yritys/RT/latency/latency.ko] > undefined! > WARNING: "start_rt_timer" [/home/huapeng/Yritys/RT/latency/latency.ko] > undefined! > WARNING: "rt_set_oneshot_mode" > [/home/huapeng/Yritys/RT/latency/latency.ko] undefined! > LD [M] /home/huapeng/Yritys/RT/latency/latency.ko > make[1]: Leaving directory `/usr/src/linux-headers-3.10.32-rtai' > root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# make > make -C /lib/modules/3.10.32-rtai/build M=/home/huapeng/Yritys/RT/latency > modules > make[1]: Entering directory `/usr/src/linux-headers-3.10.32-rtai' > CC [M] /home/huapeng/Yritys/RT/latency/latency.o > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by > default] > <built-in>:0:0: note: this is the location of the previous definition > Building modules, stage 2. > MODPOST 1 modules > WARNING: "rt_busy_sleep" [/home/huapeng/Yritys/RT/latency/latency.ko] > undefined! > WARNING: "stop_rt_timer" [/home/huapeng/Yritys/RT/latency/latency.ko] > undefined! > WARNING: "start_rt_timer" [/home/huapeng/Yritys/RT/latency/latency.ko] > undefined! > WARNING: "rt_set_oneshot_mode" > [/home/huapeng/Yritys/RT/latency/latency.ko] undefined! > CC /home/huapeng/Yritys/RT/latency/latency.mod.o > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by > default] > <built-in>:0:0: note: this is the location of the previous definition > LD [M] /home/huapeng/Yritys/RT/latency/latency.ko > make[1]: Leaving directory `/usr/src/linux-headers-3.10.32-rtai' > root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# > > 4. Do "insmod" in two ways and receive the following info: > root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# insmod > latency.ko > insmod: ERROR: could not insert module latency.ko: Unknown symbol in module > root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# insmod > ./latency.ko > insmod: ERROR: could not insert module ./latency.ko: Unknown symbol in > module > > By "dmesg|tail", obtain: > root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# dmesg|tail > [16666.583390] I-pipe: head domain RTAI unregistered. > [16666.634074] RTAI[hal]: unmounted. > [20291.607043] latency: Unknown symbol rt_busy_sleep (err 0) > [20291.607082] latency: Unknown symbol start_rt_timer (err 0) > [20291.607112] latency: Unknown symbol stop_rt_timer (err 0) > [20291.607142] latency: Unknown symbol rt_set_oneshot_mode (err 0) > [20305.727466] latency: Unknown symbol rt_busy_sleep (err 0) > [20305.727504] latency: Unknown symbol start_rt_timer (err 0) > [20305.727534] latency: Unknown symbol stop_rt_timer (err 0) > [20305.727564] latency: Unknown symbol rt_set_oneshot_mode (err 0) > root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# > > By only "dmesg", obtain huge amount of information, selected ALL and saved > into a file "latencyKOdmesg" attached (too long to be in the email body) > > Your ideas will be greatly appreciated! > > Junhong > > > > > > _______________________________________________ Rtai mailing list [email protected] https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai