따라해보려고 했는데이것Raspberry Pi에서 베어 메탈 프로그래밍을 위해 C 언어를 사용하는 방법에 대한 튜토리얼을 소개합니다. 그것이 제안한 첫 번째 것은 현재 설치한 4.8 버전 대신 gcc 4.7 툴체인을 설치하는 것이었습니다. 모든 인터넷 검색에도 불구하고 여전히 작동하지 않습니다.
update-alternatives
gcc-4.7을 선택하여 명령을 사용해 보았지만 성공하지 못했습니다. 명령에 오류가 gcc
발생했습니다 . 그래서 나는 분명히 or 을 bash: gcc: command not found
사용할 수 없습니다 .gcc -v
gcc --version
사용 가능한 커널 이미지 파일을 생성하는 빌드 스크립트를 실행할 때마다 명령은 사용한 4.8 버전을 표시합니다 arm-none-eabi
. 4.7 버전을 사용하여 교체하는 방법을 전혀 모르겠습니다.
아래는 해당 특정 스크립트의 내용과 이를 실행할 때의 출력입니다.
#!/bin/sh
arm-none-eabi-gcc -O0 -DRPIBPLUS -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -nostartfiles -g armc-03.c -o kernel.elf
arm-none-eabi-objcopy kernel.elf -O binary kernel.img
그리고 출력:
/usr/lib/gcc/arm-none-eabi/4.8/../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000008000
/4.8/
"예기치 않은" 컴파일러를 사용하고 있기 때문에 경고가 표시되는 것 같지만 이것이 바로 이 명령을 통해 얻을 수 있는 내용입니다. (흥미롭게도 Pi에서 테스트했을 때 작동하지 않았습니다.)
이 경우 Raspberry Pi에서 베어 메탈 프로그래밍을 위한 C 코드를 컴파일할 때 gcc에서 버전 4.7을 사용하도록 하려면 어떻게 해야 합니까?
./configure
해당 표준을 추가 하고 싶은데 명령 make
도 make install
작동하지 않습니다. cd
압축이 풀린 tarball의 디렉토리로 이동 하면 실행 시 ./configure
"해당 파일 또는 디렉토리가 없습니다" 오류가 발생합니다.