본문 바로가기
프로그래밍/Build & tools

우분투 22.04 gcc-arm-none-eabi-gdb 설치 방법

by makepluscode 2023. 10. 9.
반응형

우분투 22.04 에서 gcc-arm-none-eabi-gdb 설치 방법

ARM 아키텍처는 현대의 스마트폰부터 IoT 디바이스, 임베디드 시스템에 이르기까지 다양한 기기에서 널리 사용되고 있습니다. 이러한 기기들에 소프트웨어를 개발하려면, 대부분의 개발자는 자신의 PC에서 코드를 작성하고 해당 코드를 ARM 기반의 타겟 하드웨어에서 실행할 수 있는 형태로 변환해야 합니다. 이 과정에서 필수적인 도구가 바로 '크로스 컴파일러'입니다. gcc-arm-none-eabi는 ARM Cortex-M 및 Cortex-R 프로세서용 코드를 컴파일하기 위한 GNU 툴체인의 일부입니다.

이 툴체인은 개발자가 PC 환경에서 코드를 작성하고, 그 코드를 ARM 기반의 하드웨어에서 실행할 수 있는 바이너리로 변환하는 데 필요한 모든 도구를 제공합니다. 이번 포스팅에서는 gcc-arm-none-eabi의 설치 방법에 대해 알아보겠습니다.

gcc-arm-none-eabi-gdb 설치 방법

우분투 22.04 의 opt 폴더에 설치하기

  1. cd /opt/: /opt 디렉토리로 이동합니다.
  2. ARM의 공식 웹사이트에서 gcc-arm-none-eabi 툴체인의 압축된 tarball을 다운로드합니다.
  3. 다운로드한 tarball을 /opt 디렉토리에서 압축 해제합니다. -jxf 옵션은 bzip2 압축을 사용하는 tarball을 압축 해제하는 데 사용됩니다.
  4. gcc-arm-none-eabi 툴체인의 실행 파일이 포함된 디렉토리를 시스템의 PATH 환경 변수에 추가합니다. 이렇게 하면 터미널의 어디에서나 arm-none-eabi-gcc, arm-none-eabi-gdb 등의 명령어를 직접 실행할 수 있게 됩니다.
cd /opt/
sudo wget "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2"
sudo tar -jxf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
export PATH="/opt/gcc-arm-none-eabi-10.3-2021.10/bin:$PATH"

이 명령어들을 실행한 후에는 gcc-arm-none-eabi 툴체인을 사용하여 ARM Cortex-M 및 Cortex-R 프로세서용 코드를 컴파일할 수 있습니다.

$ arm-none-eabi-
arm-none-eabi-addr2line         arm-none-eabi-gcc               arm-none-eabi-gdb               arm-none-eabi-nm
arm-none-eabi-ar                arm-none-eabi-gcc-10.3.1        arm-none-eabi-gdb-add-index     arm-none-eabi-objcopy
arm-none-eabi-as                arm-none-eabi-gcc-ar            arm-none-eabi-gdb-add-index-py  arm-none-eabi-objdump
arm-none-eabi-c++               arm-none-eabi-gcc-nm            arm-none-eabi-gdb-py            arm-none-eabi-ranlib
arm-none-eabi-c++filt           arm-none-eabi-gcc-ranlib        arm-none-eabi-gprof             arm-none-eabi-readelf
arm-none-eabi-cpp               arm-none-eabi-gcov              arm-none-eabi-ld                arm-none-eabi-size
arm-none-eabi-elfedit           arm-none-eabi-gcov-dump         arm-none-eabi-ld.bfd            arm-none-eabi-strings
arm-none-eabi-g++               arm-none-eabi-gcov-tool         arm-none-eabi-lto-dump          arm-none-eabi-strip
반응형

'프로그래밍 > Build & tools' 카테고리의 다른 글

Ninja 빌드 시스템의 소개와 hello 예제  (0) 2023.10.08