I have researched toolchains for cross compiling and quite confused now which one is the appropriate one for ARM iMX7 Dual Core Cortex A7. I was told target device OS is Linux Yocto. I can see there are the following toolchains available:
> rustup target list | grep arm arm-linux-androideabi arm-unknown-linux-gnueabi arm-unknown-linux-gnueabihf arm-unknown-linux-musleabi arm-unknown-linux-musleabihf armebv7r-none-eabi armebv7r-none-eabihf armv5te-unknown-linux-gnueabi armv5te-unknown-linux-musleabi armv7-linux-androideabi armv7-unknown-linux-gnueabi armv7-unknown-linux-gnueabihf armv7-unknown-linux-musleabi armv7-unknown-linux-musleabihf armv7a-none-eabi armv7r-none-eabi armv7r-none-eabihf
I know the target architecture is hf variant and aplication variant, not real-time variant. And Cortex A7 has ARMV7A architecture according to this.
So, should it be armv7-unknown-linux-musleabihf / armv7-unknown-linux-gnueabihf OR arm-unknown-linux-musleabihf OR armv7a-none-eabi?
The last armv7a-none-eabi does not have hf variant. Although platform support documentation suggests there is one. If it exists and if it is the one I need to use, how do I get it with rustup if it is not in the list of
rustup target list?
I can see all these toolchains support rust stdlib according to rustup compon ents history. But the rust docs resource, which I see is more official but less up to date, suggests it does not support stdlib. Which information source is correct?
I assume the answer for Cortex A8 with Openembedded Linux should have the same answer for the above question #1 as Cortex A7 with Yocto. Correct?
PS: I might be missing some important context information, but this embedded development is new to me. I am exploring how a web server based on hyper can be cross compiled for Cortex A7 and Cortext A8. I expect it should not be an issue theoretically as this CPU is quite powerful and rich for "non-embedded" applications. Apparently JVM, GoVM and PythonVM run quite well there... Hopefully rust with stdlib can run there too?