OESF Portables Forum
Model Specific Forums => Sharp Zaurus => Zaurus - pdaXrom => Topic started by: samxiao on November 17, 2004, 04:11:19 pm
-
weird
i install perl, vdesk, mathomatic
all gives me this error .. can't run it
and stardict, gnumeric crashes at starting
any idea?
-
weird
i install perl, vdesk, mathomatic
all gives me this error .. can't run it
and stardict, gnumeric crashes at starting
any idea?
These applications need to be recompiled with the new toolchain so they don't throw this exception when they reach code segments that need floating-point support.
-
gnumeric is just stupid gnome :-) Its fixed in next version - but Gnumeric won't be included as default anymore - its way to "bloated" with gnome stuff..
-
What exactly is "Illegal Instruction"?
Just to clarify for those interested - the 'illegal instruction' error means that the processor does not support one of the assembly instructions compiled into the app you're trying to run. In this specific case, chances are that it's a floating-point instruction. The ARM processors in our Zaurii don't have floating-point units (FPUs). However, in previous ROM releases, the relevant instructions were caught by the kernel and emulated when the illegal instruction interrupt was generated. In the latest pdaXrom, though, apps are compiled using a technique called 'soft-float' which eliminates the need for the kernel to trap these interrupts (which is SLOOOOW).
So, as someone already pointed out, the short version of that ramble is that these apps need to be recompiled with the new soft-float toolchain
Dave
-
What exactly is "Illegal Instruction"?
Just to clarify for those interested - the 'illegal instruction' error means that the processor does not support one of the assembly instructions compiled into the app you're trying to run. In this specific case, chances are that it's a floating-point instruction. The ARM processors in our Zaurii don't have floating-point units (FPUs). However, in previous ROM releases, the relevant instructions were caught by the kernel and emulated when the illegal instruction interrupt was generated. In the latest pdaXrom, though, apps are compiled using a technique called 'soft-float' which eliminates the need for the kernel to trap these interrupts (which is SLOOOOW).
So, as someone already pointed out, the short version of that ramble is that these apps need to be recompiled with the new soft-float toolchain
Dave
i'm currently studying Motorola 68000 assembly in my university
i remember float-point has to deal with ALU
so this means XScale don't have ALU?
we can't do math on it?
that doesn't make any sense to me
thanks for anyone explain clearly to me
-
ALU = Arithmetic/Logic Unit, right? (it's been awhile since my comp. architecture class)
Anyway, yes the zaurus processors are able to do arithmetic, but only INTEGER. They don't support the floating-point (non-integer) instructions natively. Some ARM processors do, that's why the instructions exist, but not this specific processor. I guess you could compare it to the old 386 math co-processor, if you remember those. Without the co-processor, trig functions etc were VERY slow because they weren't supported in hardware. Similar situation here iwth the lack of a FPU in the zaurus - all floating point ops must be emulated in software, using integer arithmetic in the hardware as the 'backend'.
Dave
-
ALU = Arithmetic/Logic Unit, right? (it's been awhile since my comp. architecture class)
Anyway, yes the zaurus processors are able to do arithmetic, but only INTEGER. They don't support the floating-point (non-integer) instructions natively. Some ARM processors do, that's why the instructions exist, but not this specific processor. I guess you could compare it to the old 386 math co-processor, if you remember those. Without the co-processor, trig functions etc were VERY slow because they weren't supported in hardware. Similar situation here iwth the lack of a FPU in the zaurus - all floating point ops must be emulated in software, using integer arithmetic in the hardware as the 'backend'.
Dave
like real number? double ?
like 0.05 + 0.999 ?
something like that right?
then i think Motorola 68000 also no
but how those modern processor do float-point calculation?
and how software emulate the float-point if hardware is not available?
sorry.. i'm a curious kid
-
but how those modern processor do float-point calculation?
In software.
and how software emulate the float-point if hardware is not available?
Google ;-)
Here's a page with a fair bit of info on the IEEE fp standard: http://cch.loria.fr/documentation/IEEE754/ (http://cch.loria.fr/documentation/IEEE754/)
It looks fairly straight forward to implement it in software; it's more difficult to make it very fast :-)
Also try a seach for soft-float (ie: http://www.jhauser.us/arithmetic/SoftFloat.html) (http://www.jhauser.us/arithmetic/SoftFloat.html))
Si