2009-10-06 4 views
-1

모든 ARM 프로세서 용 툴 체인을 사용하여 운영 체제를 컴파일 할 수 있습니까? OS에서 툴 체인의 종속성은 무엇입니까?모든 ARM 프로세서 용 툴 체인

내 문제는 사소하게 들릴 수 있습니다 ... 저는 ARM 용 툴체인에 대해 잘 모릅니다.

답변

4

어떤 암 프로세서의 도구 체인을 사용하여 운영 체제를 컴파일 할 수 있습니까?

대상 OS에 따라 다릅니다. Linux와 같은 ARM 아키텍처를 지원하는 경우 구성 및 패치 만 누락되지만 일반적으로 예입니다.

OS에서 툴 체인의 종속성은 무엇입니까?

난 단지 GCC 경험이있어, 그래서 binutils, glibc + kernel headers 다음 GCC을 말할 것입니다. 스레드를 원하면 pthread도 필요합니다.

Linux on ARM 부트 스트랩하는 방법에 대한이 기사를 참조하십시오. 다소 오래되었지만 동일한 패치가 적용되는 동일한 프로세스가 적용됩니다.

1

암 및 기타 프로세서를 대상으로하는 툴체인 빌드에 대해서는 BuildRoot을 참조하십시오.

0

일반적으로 아니오. 툴체인은 시스템 libC 라이브러리에 의존하는 컴파일러 라이브러리를 가지고 있습니다. 운영체제가없는 작은 "베어 메탈 (bare metal)"시스템 용으로 컴파일하지 않는 한 운영 체제에서 제공됩니다.

따라서 주어진 툴체인으로 컴파일 된 프로그램은 호환되는 libC가있는 시스템에서만 작동합니다. 예를 들어 ARM GlibC 기반 시스템 용 툴체인이있는 경우 GlibC를 사용하는 표준 ARM Linux 시스템 용 프로그램을 컴파일 할 수 있지만 uClibc를 사용하는 ARM uClinux 시스템이나 ARM 베어 메탈 시스템에서는 작동하지 않습니다 Newlib 사용.

다른 작은 종속성도 있습니다 (잘 모르겠지만).하지만 그 중 가장 큰 것이 있습니다.

0

많은 크로스 플랫폼 컴파일러를 사용할 수 있습니다 gcc의 많은 버전도 제공합니다 ... 팔을위한 커널을 컴파일하려면 크로스 컴파일러를 가져와 커널 폴더의 최상위 Makefile을 변경해야합니다. 예 : ARCH = arm and CROSS_COMPILE = arm-linux-의 경우 CROSS_COMPILE 인수는 gcc 크로스 플랫폼 도구를 어디에 보관했는지에 따라 다릅니다 ...

여기서 ARCH는 아키텍처의 약어입니다.