반응형
툴체인
- 소스 코드를 타깃 장치에서 실행할 수 있는 실행 파일
- 컴파일러, 링커, 런타임 라이브러리를 포함하는 컴파일 도구들의 집합
- 리눅스 시스템의 나머지 세 가지 요소 (부트로더, 커널, 루트파일시스템)를 빌드하기 위해 툴체인이 필요
- 리눅스용 툴체인은 대부분 GNU 프로젝트에서 만들어진 요소에 기반을 두고 있다.
GNU 툴체인 세 가지 주요 요소
- Binutils: 어셈블리와 링커를 포함하는 바이너리 유틸리티의 집합
- GCC: C와 여러 언어를 위한 컴파일러, 공통 백엔드를 사용해 어셈블리 코드를 만들고, GNU 어셈블러로 넘긴다.
- C 라이브러리: POSIX 규격에 기반을 둔 표준 API
종류
CPU 아키텍처
- CPU 종류: ARM, MIPS, x86_64 등
- Big endian / Little endian: 두 가지 모드로 동작 할 수 있는 CPU가 있지만, 기계어 코드가 다르다.
- ABI ( Application Binary Interface): 함수 호출간에 인자를 넘기는 호출 규칙
Ubuntu 20.04 LTS 에 설치하는 명령어
$ sudo apt-get install autoconf automake bison bzip2 cmake \
flex g++ gawk gcc gettext git gperf help2man libncurses5-dev libstdc++6 libtool \
libtool-bin make
patch python3-dev rsync texinfo unzip wget xz-utils
권장 설치 명령어 예시
$sudo apt-get update
$sudo add-apt-repository universe
$sudo apt-get install autoconf automake bison bzip2 cmake \
$flex g++ gawk gcc gettext git gperf help2man libncurses5-dev \
$libstdc++6 libtool make patch python3-dev rsync texinfo unzip wget xz-utils
반응형
'도서 리뷰 > 임베디드 리눅스 프로그래밍 완전정복' 카테고리의 다른 글
부트로더 (Bootloader) #2 (0) | 2025.06.24 |
---|---|
부트로더 (Bootloader) #1 (0) | 2025.06.24 |