FPU support in Omega2?
-
I've been developing a lot code on Go and recent release 1.8 (it would happen in 10 days) and it would support cross-compiling for MIPS32 arch:
Go now supports 32-bit MIPS on Linux for both big-endian (linux/mips) and little-endian machines (linux/mipsle) that implement the MIPS32r1 instruction set with FPU or kernel FPU emulation. Note that many common MIPS-based routers lack an FPU and have firmware that doesn't enable kernel FPU emulation; Go won't run on such machines.
See more info here.
But here's a problem MIPS32 24k doesn't have FPU:
It’s a MIPS 24Kc CPU and supports up to the mips32r2 ISA, so far good. But what you don’t see is that the chip doesn’t have a FPU. So while a primitive Hello World C application runs just fine, once you start using Floating Point (FP) instructions it’ll crash with the aforementioned exception.
See this article.
So, my question is, does Omega2 support FPU or it doesn't?
The reason why i don't want to mess with
gccgo
is that i'd need to build custom firmware and would need to support it for a long time.
-
No. There is no FPU.
https://docs.labs.mediatek.com/resource/linkit-smart-7688/en/faqccs_hello
-
You should probably look into building a custom kernel with FPU emulation, or at least determine if the reason they say it is not available is that they are speaking of running on top of existing built kernels commonly shipped in routers, or if there is a technical obstacle to even turning on the kernel FPU emulation in the kernel versions that could be used to make a custom build.
You may want to look at LEDE (or even OpenWRT) resources in general, rather than only at Onion-specific ones.