We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Both the A8 and A5 are ARMv7-A, so code for one will be compatible (*) with the other. When you compile for --cpu=7-A you are saying that the target is an ARM7-A compatible processor. When you compile with --cpu=Cortex-A5 you are saying that the target is a Cortex-A5, which is an ARMv7-A processor. The difference is in the second case the compiler will make optimization decisions based specifically on the A5. In some cases an optimization which is good on an A5 may not be so good on an A8 (and vice verse).So yes - you can build code compatible with an A5 using RVDS 3.1. But as the A5 wasn't around when 3.1 was released - don't expect the 3.1 compiler to perform any A5 specific optimizations.* Ok, so compatible needs a little more explanation. When you compile/assemble for a specific CPU, the tools pre-select different options. So with "--cpu=Cortex-A8" the compiler assumes that the FPU/NEON is present and available. But with "--cpu=Cortex-A5" the compiler assumes that the FPU/NEON is _not_ present/enabled. The A5 and A8 also implement different versions of the VFP specs.