CAFE

AVR 툴

WIN AVR이란?

작성자임베드로|작성시간09.11.08|조회수1,079 목록 댓글 1

1. WIN AVR이란?

  리눅스 기반의 ‘GCC’(GNU Compiler Collection)라 불리는 컴파일러 프로그램 묶음이 있다. 이 리눅스에서 사용하던 ‘GCC’를 윈도우 기반에서 돌아가도록 ‘GCC’를 계량하여 PC 프로그램을 통상적인 ‘델파이’, ‘MFC', 'API'가 아닌 ’GCC‘로 C/C++ 프로그램 작성을 가능하게 하였다. 또, 이를 확장하여 'GCC'를 이용하여 ARM, AVR, AVR32 등의 마이크로프로세서에서 사용 가능한 크로스 컴파일러로 확장시켜 나가게 되었으며 이중 ’AVR' 을 위한 ‘GCC'에 ’WIN AVR'이란 명칭을 붙이게 되었다.

2. WIN AVR의 파일 구성

"C:\WinAVR-20090313\bin" 폴더 아래에 'GCC'가 갖고 있는 컴파일러 주요 프로그램 묶음들에 대해 각각 나열 하였다.

 

  가. avr-gcc.exe : C 언어 컴파일러로써 C언어로 작성된 소스를 어셈블리 소스 파일로 생성하여 준다.

나. avr-c++.exe : C++ 언어 컴파일러로써 C++언어로 작성된 소스를 어셈블리 소스 파일로 생성하여 준다.

다. avr-g++.exe : C++ 언어 컴파일러로써 ‘GCC’에서 계정한 C++ 문법에 대하여 컴파일을 하기 위한 프로그램으로 'GCC‘에서 계정한 문법의 C++ 소스는 'c++.exe'에서는 컴파일 할 수 없다. 결과물로는 어셈블리 소스 파일을 생성한다.

라. avr-as.exe : 'avr-gcc.exe', 'avr-c++.exe', 'avr-g++.exe'에서 생성한 어셈블리어를 어셈블하는 어셈블러로써 링킹 직전의 오브젝트 파일을 생성한다.

마. avr-ld.exe : 'avr-as.exe'가 생성한 오브젝트 파일들을 한데 모아 실행 파일을 만들어주는 최종 단계의 역할이다.

 

3. WIN AVR 컴파일의 작업 진행

위 파일들이 순차적으로 'avr-gcc.exe'가 ‘.c'의 확장명을 갖는 C 소스 파일을 컴파일 하여 '.s'의 확장명을 갖는 어셈블리 파일로 만들어 낸다. ’.s' 확장명의 어셈블리 파일을 ‘avr-as.exe'가 어셈블 하여 ’.o'의 확장명을 갖는 오브젝트 파일을 생성하고 마지막으로 'avr-ld.exe'가 링킹을 하여 ‘.elf’로 만들어 낸다. (실질적인 GCC는 목적파일을 ‘.elf‘를 생성해 내고 'avr-objcopy.exe' 프로그램이 '.hex'로 변형해 낸다.)

 

< 컴파일 작업 순서도 >

 

 

 

위 예시에서 초록색은 파일의 변화를 나타내고 보라색은 프로그램을 나타내며 초록색의 파일이 보라색의 프로그램을 거치면서 변화하는 과정을 보여주고 있다. 실제로 과정은 더 세분화 되어 있지만 간단히 표현하였다.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자수원인재기술 | 작성시간 15.01.19 안녕 하세요
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼