arduino 1.8.15 / avr-gcc 7.3.0

문서 정보

  • 작성자 : 김길용
  • 작성일 : 2021. 07. 02.


개발 환경

  • OS :  Windows 10 64bit
  • IDE : arduino 1.8.15
  • 컴파일러 : avr-gcc 7.3.0 ("C:\Users\KYK\Desktop\arduino-1.8.15-windows\arduino-1.8.15\hardware\tools\avr\bin\avr-gcc.exe")
  • Chipset :  아두이노 윤


툴체인

  • 사용한 분석 설정 : AVR 8bit용 AVRStudio 4.x GCC4.x 컴파일러
    • 아두이노 설치경로 하위에서 avr-gcc.exe 파일명으로 검색하여, 컴파일러 절대경로 확인 가능.

      ex) C:\Users\KYK\Desktop\arduino-1.8.15-windows\arduino-1.8.15\hardware\tools\avr\bin\avr-gcc.exe

    • CI 에서 툴체인 자동추출을 시도했으나, 자동추출이 불가능함.

  • 시스템 헤더 경로 : 
    • C:\Users\KYK\Desktop\arduino-1.8.15-windows\arduino-1.8.15\hardware\tools\avr\lib\gcc\avr\7.3.0\include
    • C:\Users\KYK\Desktop\arduino-1.8.15-windows\arduino-1.8.15\hardware\tools\avr\lib\gcc\avr\7.3.0\include-fixed
    • C:\Users\KYK\Desktop\arduino-1.8.15-windows\arduino-1.8.15\hardware\tools\avr\avr\include


프로젝트 생성

  • 아두이노 실행 후, *.ino 형태의 스케치파일을 Open 하면 빌드가 가능한데, 빌드로그가 거의 안나옴.
  • 위의 과정으로 빌드를 수행하면, 아래의 경로에 arduino_build_XXXX 형태의 프로젝트 폴더가 생성됨.

    ex) %LOCALAPPDATA%\temp\arduino_build_933330

  • *.ino 파일이 cpp 파일로 변환되어, 아래 경로에 생성되어있음.

    %LOCALAPPDATA%\temp\arduino_build_933330\sketch\source_file_name.ino.cpp

    위 소스파일로 프로젝트 생성


컴파일플래그 설정

  • 대상 소스파일에 include 된 헤더파일의 목록이 아래 파일에 작성되어 있음.

    %LOCALAPPDATA%\temp\arduino_build_933330\sketch\source_file_name.ino.cpp.d

  • -D 옵션은 아래 파일들을 통해 유추하여, 분석오류를 확인하며 추가해야함.


    컴파일 명령이 저장된 파일 (컴파일플래그 확인 가능)

    C:\Users\KYK\Desktop\arduino-1.8.15-windows\arduino-1.8.15\hardware\arduino\avr\platform.txt


    환경변수가 저장된 파일

    C:\Users\KYK\Desktop\arduino-1.8.15-windows\arduino-1.8.15\hardware\arduino\avr\programmers.txt


    아두이노 IDE 환경설정 정보가 저장된 파일

    C:\Users\KYK\AppData\Local\Arduino15\preferences.txt


추가설정

  • 툴체인.conf 파일에서 asm 키워드 무시처리 옵션들은 모두 제거함


원본 전처리

  • 위의  platform.txt  파일에서 확인된 컴파일 명령을 이용하여 avr-gcc.exe -E source_file_name.ino.cpp 형태로 원본전처리를 추출해야함.
tch
로그인 코멘트 게시