GCC를 설치할 공간이 충분하지 않은 경우 Linux용으로 어떻게 컴파일합니까?

GCC를 설치할 공간이 충분하지 않은 경우 Linux용으로 어떻게 컴파일합니까?

휴먼 머신 인터페이스(Exor Esmart04)를 구입했습니다. Linux 3.10.12에서 실행되지만 이 Linux는 제거되었으며 C 컴파일러가 없습니다. 또 다른 문제는 디스크 공간입니다.

디스크 공간 클리핑

GCC를 설치하려고 시도했지만 디스크 공간이 충분하지 않습니다. 디스크 공간이 덜 필요한 다른 솔루션이나 다른 C 컴파일러가 있는 사람이 있습니까?

답변1

일반적으로 임베디드 장치의 경우 사람들은 소프트웨어를 직접 컴파일하지 않습니다. 소위 말하는 게 더 편해요cross-compilation쉽게 말하면 일반 PC를 이용해 x86이 아닌 다른 아키텍처로 컴파일하는 것입니다.

당신은 Linux를 처음 접한다고 합니다. 참고로 당신은 큰 문제에 직면해 있습니다. 임베디드 장치로 크로스 컴파일하는 것은 쉬운 일이 아닙니다.

귀하의 HMI 시스템을 조사한 결과 Yocto에 관한 몇 가지 결과를 발견했습니다. Yocto간단히 말해서 이는 임베디드 장치용 펌웨어를 구축하기 위한 완전한 프레임워크입니다.

귀하의 HMI는 오픈 소스 프로젝트(Linux, busybox 등)를 많이 사용하므로 제조업체는~ 해야 하다모든 오픈 소스 구성 요소를 직접 다시 빌드할 수 있는 방법을 제공합니다. 일반적으로 수행해야 할 작업은 다음과 같습니다 BSP(마더보드 지원 패키지). 하드웨어 제조업체는 일반적으로 다음을 배송합니다.

  • buildroot전체 펌웨어를 처음부터 다시 빌드할 수 있는 프로젝트를 사용하세요 .
  • 메타를 사용하여 yocto해당 yocto 프로젝트의 새 복사본에 추가하면 전체 펌웨어를 다시 빌드할 수도 있습니다.
  • 더 드물게는 형편없는 스크립트와 사전 구축된 컴파일러가 잔뜩 있습니다.

그래서, 내가 당신이라면, 나는:

  1. 펌웨어를 재구축하기 위한 오픈 소스 도구를 요청하려면 제조업체 지원팀에 문의하세요.
  2. 또한 Google에서 "your HMI + yocto", "your HMI + buildroot" 등을 검색하세요.

더 많은 인터넷 검색 끝에 Yocto 메타를 찾았습니다.깃허브.

디렉토리에서 이 메타 구현에 대한 머신을 확인할 수 있습니다.구성/머신원.

현재 다음 코드명으로 정의된 5개의 머신이 있습니다.

  • us01-키트
  • us02-키트
  • us03-키트
  • 우솜 01
  • 우솜 02

그러니 파헤쳐 보시길 권합니다. 이는 소프트웨어를 직접 구축하는 방법일 수 있습니다. 당신은 또한 확인할 수 있습니다이 페이지github 계정에 더 많은 단서가 있을 수 있습니다.

답변2

크로스 컴파일에 대한 Binarym의 답변에 동의합니다. 그러나 여전히 그렇게 보수적인 하드웨어를 갖춘 머신에서 직접 컴파일하고 싶다면 다음과 같은 더 작은 컴파일러를 살펴보는 것이 좋습니다.작은 C 컴파일러(tcc)x86 아키텍처에서는 약 100KB입니다. 그러나 C11이 아닌 ISO C99까지만 지원을 확장한다는 점을 지적하고 싶습니다.

관련 정보