기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
arm-none-linux-gnueabi
arm-linux-gnueabihf
두개의 컴파일러를 다운받아서 엑시노스보드에서 테스트 하고 있습니다.
arm-none-linux-gnueabi-gcc
arm-linux-gnueabihf-gcc
로 각각 컴파일하여 실행 시켜봤는데 제가 사용중인 보드에서는
arm-none-linux-gnueabi 으로 컴파일된것만 실행이 되더라구요
arm-linux-gnueabihf 으로 컴파일한것은 실행이 되지 않습니다.
arm-none-linux-gnueabi 으로 컴파일한 프로그램은 다른 임베디드환경에서도 호환이 되나요?
arm-none-linux-gnueabi으로 컴파일한것을 배포하려고 하는데 다른 임베디드에서도 호환이 되는지 궁금합니다.
arm-linux-gnueabihf는 어떤 환경에서 돌아가는것인가요?
gnueabi로 되어 있는 컴파일러는 software floating point 를 지원 합니다.
그러므로 arm-none-linux-gnueabi 로 컴파일 했을 때 사용하고 계신 rootfs 에서 실행된다면 rootfs의 모든 library가 software floating point를 지원하도록 구성되어 있을 것입니다.
arm-linux-gnueabihf로 구성된 컴파일러는 hardware floating point를 지원합니다. 요즘 ARM core에는 FPU(VFP 등)이 내장되어 있으므로 이 부분을 활용할 수 있으면 software floating point로 구성된 library비하여 두배에서 빠르면 다섯배 더 빠르게 프로그램을 수행할 수도 있습니다. 수학연산이 많이 포함된 프로그램의 경우 효과가 있습니다.
대신에 arm-linux-gnueabihf를 사용하시려면 rootfs의 library가 hardware floating point를 지원하도록 구성되어 있어야 합니다. 아마도 수행이 안된다고 하셨으니 해당 rootfs는 hardware floating point를 지원하지 않을 것으로 판단됩니다.