ts-7000
[Top] [All Lists]

[ts-7000] Re: TS-7300 RTAI floating point

To:
Subject: [ts-7000] Re: TS-7300 RTAI floating point
From: "charliem_1216" <>
Date: Thu, 22 Jan 2009 13:23:04 -0000
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/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU