답변1
일반적으로 임베디드 장치의 경우 사람들은 소프트웨어를 직접 컴파일하지 않습니다. 소위 말하는 게 더 편해요cross-compilation
쉽게 말하면 일반 PC를 이용해 x86이 아닌 다른 아키텍처로 컴파일하는 것입니다.
당신은 Linux를 처음 접한다고 합니다. 참고로 당신은 큰 문제에 직면해 있습니다. 임베디드 장치로 크로스 컴파일하는 것은 쉬운 일이 아닙니다.
귀하의 HMI 시스템을 조사한 결과 Yocto에 관한 몇 가지 결과를 발견했습니다.
Yocto
간단히 말해서 이는 임베디드 장치용 펌웨어를 구축하기 위한 완전한 프레임워크입니다.
귀하의 HMI는 오픈 소스 프로젝트(Linux, busybox 등)를 많이 사용하므로 제조업체는~ 해야 하다모든 오픈 소스 구성 요소를 직접 다시 빌드할 수 있는 방법을 제공합니다. 일반적으로 수행해야 할 작업은 다음과 같습니다 BSP
(마더보드 지원 패키지). 하드웨어 제조업체는 일반적으로 다음을 배송합니다.
buildroot
전체 펌웨어를 처음부터 다시 빌드할 수 있는 프로젝트를 사용하세요 .- 메타를 사용하여
yocto
해당 yocto 프로젝트의 새 복사본에 추가하면 전체 펌웨어를 다시 빌드할 수도 있습니다. - 더 드물게는 형편없는 스크립트와 사전 구축된 컴파일러가 잔뜩 있습니다.
그래서, 내가 당신이라면, 나는:
- 펌웨어를 재구축하기 위한 오픈 소스 도구를 요청하려면 제조업체 지원팀에 문의하세요.
- 또한 Google에서 "your HMI + yocto", "your HMI + buildroot" 등을 검색하세요.
더 많은 인터넷 검색 끝에 Yocto 메타를 찾았습니다.깃허브.
디렉토리에서 이 메타 구현에 대한 머신을 확인할 수 있습니다.구성/머신원.
현재 다음 코드명으로 정의된 5개의 머신이 있습니다.
- us01-키트
- us02-키트
- us03-키트
- 우솜 01
- 우솜 02
그러니 파헤쳐 보시길 권합니다. 이는 소프트웨어를 직접 구축하는 방법일 수 있습니다. 당신은 또한 확인할 수 있습니다이 페이지github 계정에 더 많은 단서가 있을 수 있습니다.
답변2
크로스 컴파일에 대한 Binarym의 답변에 동의합니다. 그러나 여전히 그렇게 보수적인 하드웨어를 갖춘 머신에서 직접 컴파일하고 싶다면 다음과 같은 더 작은 컴파일러를 살펴보는 것이 좋습니다.작은 C 컴파일러(tcc)x86 아키텍처에서는 약 100KB입니다. 그러나 C11이 아닌 ISO C99까지만 지원을 확장한다는 점을 지적하고 싶습니다.