make: xscale_be-gcc: 명령을 찾을 수 없습니다

make: xscale_be-gcc: 명령을 찾을 수 없습니다

저는 임베디드를 처음 접했고 현재 "Embedded Linux 소개"를 읽고 있습니다.

xscale arm 커널을 빌드하려고 합니다.

make ARCH=arm CROSS_COMPILE=xscale_be- ixp4xx_defconfig
#
# configuration written to .config

다음은 브랜드입니다.

~/linux-stable$ make ARCH=arm CROSS_COMPILE=xscale_be- zImage
make: xscale_be-gcc: Command not found
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CC      kernel/bounds.s
/bin/sh: 1: xscale_be-gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2

gcc-arm-none-eabi-4_9-2014q4를 다운로드하여 추출했습니다. https://launchpad.net/gcc-arm-embedded

경로를 설정하고

경로=/opt/gcc-arm-none-eabi-4_9-2014q4/bin/

xscale 아키텍처에는 또 다른 컴파일러가 필요합니까?

xscale_be-gcc를 찾을 수 있는 아이디어가 있나요?

답변1

나는 같은 책을 읽고 같은 섹션에 갇혔습니다. 그래서... 약간의 조사 끝에 마침내 ixp4xx 타겟용 커널을 컴파일했습니다.

다음에서 ARM 툴체인을 다운로드하세요. 개발자 arm 컴파일러 v6 그 다음에...

$ mkdir -p ~/opt

$ CD ~/옵션

$ tar xjf ~/Download/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2

$ chmod -R -w ~/opt/gcc-arm-none-eabi-6-2017-q2-update

설치가 제대로 되었는지 확인

~/opt$ gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-gcc --version

출력은 다음과 같습니다:

arm-none-eabi-gcc(ARM 임베디드 프로세서용 GNU 도구 6-2017-q2-update) 6.3.1 20170620(릴리스) [ARM/embedded-6-branch 249437] Copyright (C) 2016 Free Software Foundation, Inc...

이제 커널 소스 트리를 준비할 수 있습니다.

ARCH=arm CROSS_COMPILE=~/opt/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-ixp4xx_defconfig를 만듭니다.

드디어 컴파일...

ARCH=arm CROSS_COMPILE=~/opt/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-zImage를 만드세요.

성공!

대상에 가장 적합한 컴파일러가 아닐 수도 있고 커널 패치가 필요할 수도 있지만... 책의 모든 단계를 따르기 위해서는 그것으로 충분하다고 생각합니다.

BR,

답변2

당신의 마더보드는 무엇입니까? 커널을 구성했습니까? 마더보드와 일치하도록 커널을 구성하고 corss-compile 툴체인을 지정해야 합니다.

arm-none-eabi-*베어메탈 아님 ? Linux에서는 사용할 수 없습니다. 누구를 사용해야 합니까 gcc-arm-none-eabi-4_9-2014q4?

또한 경로를 재설정하고 있습니다! 이 작업을 수행:

경로=$경로:/opt/gcc-arm-none-eabi-4_9-2014q4/bin/

관련 정보