ABOUT ME

Email : haejin.yang91@gmail.com

Today
Yesterday
Total
  • mipsel32 개발 환경 구축
    문제해결 2021. 12. 9. 02:03

    툴체인 구성

     개발 컴퓨터의 CPU와 실행 환경의 CPU가 다를 때, 항상 문제 되는 부분이 빌드 환경의 구축이다. 크로스 컴파일을 위해선 컴파일러, 사용할 C런타임 라이브러리 등 신경 써야 할 것이 너무 많기 때문이다. x86 계열과 ARM 계열은 크로스 컴파일이 잦다 보니 쉽게 세팅할 수 있지만, mips는 그렇지 않았다. 그래도 몇 번 반복하다 보니 숙련도가 생겨서 프로세스를 적립할 수 있었다. mipsel32bit를 기준으로 다음과 같다.

    1. 툴체인을 구축하기 위해서 buildroot를 사용한다.
      • 단, buildroot에서만 가능한 것은 아니다. Yocto, 미리 준비된 도커 이미지를 사용할 수 있을 것이다.
    2. 최대한 오래 지원해주는 Latest  long term support release 버전으로 다운로드
    3. 압축 풀고, make menuconfig로 하나씩 구성한다.
      • TargetOptions
      •  
        타겟 아키텍처, 바이너리 형식을 맞춰준다. MIPS는 공유기나 네트워크 장비에서 쓰다보니 big endian과 little endian 버전이 따로 있다.
      • BuildOptions
        • strip target binaries는 빌드된 바이너리의 크기를 줄여주는 옵션이다. 대체로 임베디드 기기는 저장용량이 작으므로 선택 옵션이지만 항상 활성화한다.
      • ToolChain
        • uclibc인지 musl인지 glibc인지 정해준다. 여기선 uclibc를 사용한다.
        • C++을 쓸것이라 활성화 했다. 필요에 따라 나머지도 활성화한다.
    4. make를 실행한다. 빌드 완료까지 수십 분 걸릴 수 있다.
    5. 툴체인 결과물은 buildroot/output/host 디렉토리 전체이다.
    6. buildroot/output/host/bin/~~~.gcc 혹은 g++을 이용하여 테스트 프로젝트를 빌드한다.
    7. 실행환경에서 실행한다.
      • 실행이 실패하면 에러를 보고 다시 빌드를 하던 추가할 것을 찾아 헤맨다...
      • 실행이 성공하면 도커로 다시 구축한다.(도커를 쓰는 이유)
    8. Dockerfile에 툴체인 폴더를 모두 copy하고, Makefile에서 쓰는 컴파일러 경로를 다시 설정해준다.
    9. 도커 위에서 빌드하고 개발을 진행한다.(윈도우에서 도커써서 개발하기)

     

     

    '문제해결' 카테고리의 다른 글

    댓글

툴체인 구성


Designed by Tistory.