Hi Matej --
--- In "matej.spindler" <>
wrote:
>
> Hello !
>
> I'm developing a hard real time motion controller using RTAI and
> ts-7300 board.
>
> The problem is I am getting unresolved symbols:
>
> :rtai_control# insmod rtai_control.o
> rtai_control.o: rtai_control.o: unresolved symbol __fixdfsi
> rtai_control.o: rtai_control.o: unresolved symbol __floatsidf
> rtai_control.o: rtai_control.o: unresolved symbol __muldf3
> rtai_control.o: rtai_control.o: unresolved symbol __subdf3
> rtai_control.o: rtai_control.o: unresolved symbol __ltdf2
> rtai_control.o: rtai_control.o: unresolved symbol __adddf3
> rtai_control.o: rtai_control.o: unresolved symbol __gtdf2
>
> Rtai itself is running fine. Some of my test modules are running like
> they should.
Probably the ones not using floating point code, right?
>
> As soon as i use something like
> double omega;
> omega = 2 * PI *freq;
>
> I get the errors.
There is no floating point code allowed in the kernel, only userspace.
>
> For cross compiling i use crosstool-linux-gcc-3.3.4-glibc-2.3.2
> provided by technology-systems.
>
> In Makefile i use:
> RTAI_CFLAGS = $(shell
> /home/matej/Desktop/ARM/rtai/realtime/bin/rtai-config --module-cflags)
>
> rtai_control: rtai_control.c
> $(CROSS_COMPILE)$(CC) $(RTAI_CFLAGS) -c
>
> and the resulting command:
>
> arm-linux-gcc -I. -I/home/matej/Desktop/ARM/kernel/linux24/include/
> -D__KERNEL__ -I/home/matej/Desktop/ARM/rtai/realtime/include -Wall
> -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing
> -fno-common -fomit-frame-pointer -Uarm -fno-common -pipe -mapcs-32
> -D__LINUX_ARM_ARCH__=4 -march=armv4 -mtune=arm9tdmi -msoft-float -Uarm
> -DMODULE -DEXPORT_SYMTAB -Wall -ffast-math -msoft-float -c
rtai_control.c
>
> obviously -msoft-float in there.
>
> Same module with similar Makefile works ok on x86 machine.
As a kernel module? If that works then it is a fluke and is likely to
fail in the future.
>
> Any help would be appreciated!
One approach would be to just refactor your algorithms using integer
or fixed point arithmetic. It would be faster and more portable as well.
regards, .......... Charlie
>
> Matej
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|