저는 여러 크로스 도구가 포함된 기존 Docker 이미지에 크로스 컴파일러를 추가하는 임무를 받았습니다.
기존 Dockerfile에서 apt-get install -y --no-install-recommends build-essential
관련 바이너리/툴체인 설치 효과가 있음 을 확인했습니다 /usr/bin/x86_64-linux-gnu-g++
(죄송합니다: 용어가 부족할 수 있습니다).
apt-get install -y --no-install-recommends crossbuild-essential-arm64
마찬가지로 설치 및 관련 바이너리/툴체인에도 영향이 있는 것으로 보입니다 ./usr/bin/aarch64-linux-gnu-g++
apt-get install
유사하게 설치하는 명령 armr5-none-eabi-g++
과 관련 바이너리/툴체인이 있습니까 ?
온라인이나 여러 Stack Exchanges에서 검색해 보니 설치에 대한 언급을 본 적이 있는데 이건 arm-none-eabi-g++
(?) 다른 것 같아요. 둘이 기능적으로는 동일하더라도 특별히 설치된 솔루션을 선호하는 편이거든요.armr5-none-eabi-g++
armr5-none-eabi-g++
Dockerfile 기본 이미지는 debian:10.3-slim
.
답변1
ARM 툴체인에 해당하는 Debian 패키지를 사용하려면 다음을 설치해야 합니다.gcc-arm-none-eabi
Cortex-R 프로세서를 포함하여 32비트 ARM용 C 및 C++ 크로스 컴파일러를 제공합니다.
apt-get install -y --no-install-recommends gcc-arm-none-eabi
C++의 컴파일러 명령은 arm-none-eabi-g++
.
STL이 필요하면 설치해야 합니다.libstdc++-arm-none-eabi-newlib
:
apt-get install -y --no-install-recommends libstdc++-arm-none-eabi-newlib
armr5-none-eabi-g++
Xilinx SDK에서 사용 가능하며 관련 SDK는 이제 Vitis인 것으로 보입니다. 컨테이너 이미지의 경우 전체 Unity 설치 프로그램 아카이브를 사용하여 설치하는 것이 더 나을 것입니다. (아직 시도해보지 않아서 armr5-none-eabi
현재 버전에 포함되어 있는지는 확인할 수 없습니다.)