2012-01-12 4 views
1

에게 팔과 리눅스에 대한 간단한 질문을 포함 :ARM 리눅스 툴체인

난 그냥 ARM의 리눅스 커널을 컴파일 내 우분투에 팔 - 없음 - EABI 툴 체인을 만들었습니다. 이 툴체인은 내 ARM에서 실행되는 리눅스 환경에서 실행될 바이너리를 컴파일 할 수 있습니까? 아니면 두 번째 툴체인이 필요합니까?

아, 두 번째 질문은 내 마음에 온다. buildroot로 만들 수있는 툴체인. ARM 용 Linux를 컴파일하거나 ARM에서 실행되는 Linux 시스템 용 바이너리를 컴파일하는 데 사용됩니까?

누구나 설명해 주실 수 있습니까?

+0

크로스 컴파일러와 스트레이트 컴파일러의 차이점에 대해 궁금한 점이 있습니까? –

+0

아니, 질문은 ARM 용 리눅스를 빌드하는 데 사용하는 툴체인과 임베디드 리눅스에서 실행해야하는 응용 프로그램을 빌드하는 데 사용하는 툴체인에 관한 것입니다. 또는 2 개의 다른 툴체인을 가질 필요가 없으며 하나의 툴체인을 사용 사례 용으로 사용할 수 있습니까? 툴체인이 여러분의 목적에 따라 newlib 또는 μClibc로 빌드되면 중요하다고 읽습니다. – binaryguy

+0

동일한 교차 툴체인이 Linux 커널과 임베디드 응용 프로그램을 컴파일 할 수 있어야합니다 (C 또는 C++ 이상). –

답변

2

툴체인이있는 경우 Linux/ARM 환경 용 프로그램을 컴파일 할 수 있습니다. 하나의 툴체인 만 있으면됩니다. 나는 리눅스와 다른 프로그램 사이에 차이점을 보지 못했다.

+0

그렇게 생각하세요? 글쎄, newlib을 사용하는 툴체인은 리눅스 시스템을위한 것이 아니다. 이 목적을 위해 대신 μClibc를 사용해야합니다 ... – binaryguy

+0

해당 주제에 대한 전문가는 없지만 귀하의 툴체인은 ARM/Linux 디바이스에 배치 될 동일한 c 라이브러리를 사용해야합니다. 전체 시스템을 직접 만들거나 Linux 배포판을 사용하고 있습니까? – kingdaemon

+0

ARM 장치에서 실행되도록 자체적으로 Linux를 빌드 할 것입니다. – binaryguy

0

질문에 대한 대답을 해봅시다. gcc 또는 gnu 컴파일러를 사용하여 Linux를 실행중인 컴퓨터의 커널을 컴파일 할 수 있습니다. 이 컴퓨터에서 실행되는 응용 프로그램을 컴파일하는 데 동일한 컴파일러를 사용할 수 있습니까? 아니면 응용 프로그램에 대해 두 번째 gcc 컴파일러가 필요합니까?

리눅스 커널을 만들 수 있고 그 커널이 제대로 작동한다면 대부분의 경우 해당 커널에서 작동 할 수있는 응용 프로그램을 만들 수 있습니다. 나는 사람들이 생각해 낼 수있는 예외가 있다고 확신한다. 그러나 실제로 arm-none-linux-eabi에서 우리는 팔을위한 리눅스 시스템을 만들고 팔 시스템에서 돌아가는 프로그램을 컴파일하는데 매일 사용합니다. 같은 컴파일러/툴체인.

+0

을 사용하기 원하는 사용자 공간 libc를 사용할 수 있어야하지만 arm-none-eabi-gcc는 arm-none-linux-eabi가 아닌 사용하고 있습니다. 그리고 위에서 말했듯이, arm-none-eabi-gcc 툴체인을 만드는 데 사용했던 newlib은 운영체제를위한 것이 아닙니다. 대신 μClibc를 사용해야합니다. 나는 틀린가? – binaryguy

+0

당신은 그것으로 리눅스를 만들 수 있습니까? 그렇다면 나는 당신이 할 수 있고 같은 도구로 리눅스 어플리케이션을 만들 필요가 있다고 가정 할 것이다. 이 모든 일을 시도 할 때 어떤 일이 생기게됩니까? 왜 arm-none-linux-eabi를 사용하지 않겠습니까? –

0

예 가능합니다! arm-2011.09 크로스 컴파일러 툴체인으로 Ubuntu 환경을 만들고이 환경에서 Buildroot에 필요한 Arm 응용 프로그램과 Linux 커널 구성 요소를 모두 빌드합니다. 모두 잘됐다!

Docker를 사용하여 이러한 환경을 구축 했으므로 개발 환경을 직장, 집 및 다른 곳에서 매우 유용하게 사용할 수 있습니다. Docker가 주변에 있다면 나는 사업하고있어.

+0

이 질문에 대한 답을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남기십시오. 자신의 게시물에 언제나 댓글을 달 수 있으며 충분한 [평판] (http://stackoverflow.com/help/whats-reputation)을 갖게되면 [모든 게시물에 댓글을 달 수] 있어야합니다 (http://stackoverflow.com/help/privileges/comment). –

+0

@Tom Toms는 확실히 그의 두 가지 질문 중 첫 번째 질문에 대답합니다. 그는 리눅스 커널을 컴파일하는 데 사용 된 툴체인이 자신의 팔 환경에서 실행되는 다른 프로그램을 컴파일 할 수 있는지 물었다. 내가 진술했듯이 그렇게 할 수 있습니다. – kelflanagan

+0

그래, 조금 빨리 읽어 봐. 미안. 당신은 분명히 그것을 조금 바꾸어야합니다 (예 : 가능합니다. 나는 그것을 분명하게하기 위해 [...]을 만들었습니다). –