AVR – ATmega103(ATMEL) Compilers & ISP 31, March Digital Sig. in Chollian 서종완(angler@chollian.net)
GCC의 소개 GCC(GNU C Compiler) GNU(GNU is Not Unix) 프로젝트 FSF(Free Software Foundation) 공개 C 언어 컴파일러 매우 뛰어난 성능과 안정성 매우 다양한 유닉스 시스템에 이식 Linux 시스템 시스템용 C 컴파일러로 채택
GCC의 특징 이식성(portability) 여러 플랫폼에 대하여 거의 동일한 개발환경(development environment) 소스 코드 호환성(source code compatibility)을 제공
크로스 컴파일러 (Cross Compiler) 타겟 플랫폼 크로스 컴파일러가 생성하는 오브젝트 코드가 실제로 수행되는 시스템 호스트 플랫폼 크로스 컴파일러를 수행하는 시스템 ex) 펜티엄 컴퓨터 상에서 8051 C 컴파일러를 이용하여 8051용 오브젝트 코드를 생성하고 그 결과 코드를 롬에 담아서 8051에서 수행하였을 경우 호스트 플랫폼 : 펜티엄 컴퓨터 타겟 플랫폼 : 8051
AVR-GCC와 크로스 컴파일러 모듈화 gcc 플랫폼에 의존적인 부분 플랫폼에 비의존적인 부분 각 모듈은 특정한 규칙으로 인터페이스 gcc C언어를 어셈블러로 변환하는 기능 어셈블러(assembler) 어셈블러를 오브젝트 코드로 변환 링커(linker) 여러 개의 오브젝트 코드를 하나의 오브젝트 코드로 병합
AVR-GCC Package Binutils gcc libc cross assembler + cross linker + 여러 바이너리 파일 유틸리티(예:파일 포맷 변환기) gcc 기존의 gcc이 avr을 지원하도록 패치하여야 함 libc gcc는 C 언어를 어셈블러로 변환하는 기능 C에서 지원해야 할 기본적인 함수가 따로 필요 이를 libc라고 부름 덧셈(+)이나 곱셈 연산자(*)에 대한 실제 오브젝트 코드를 gcc는 가지고 있지 않으며 모두 libc가 제공
설치 방법 (for Win9x) avr-gcc의 windows 버전 Volker Oth가 binutils + avr-gcc + libc를 모두 도스용으로 컴파일하여 패키지 형태로 배포 직접 만든 예제 파일도 함께 배포 avr-gcc for windows 윈도우즈용 avr-gcc 컴파일러 : binutils, avr-gcc, libc 포함 install fix avr-gcc for windows 설치파일의 버그 수정 파일 gcctest 예제 파일
설치 방법 (for Win9x) avrgcc.zip 압축해제(c:\avrgcc) instfix.zip install.exe와 install.ini를 c:\avrgcc에 덮어 씌운다. (이는 avrgcc.zip에 포함되어 있는 install.exe와 install.ini가 버그가 있기 때문이다) c:\avrgcc\install.exe를 수행 바탕 화면에 AVR-GCC.lnk가 생성 gcctest.zip 압축해제(c:\avrgcc\gcctest) 바탕 화면의 AVR-GCC 아이콘을 더블 클릭 cd c:\avrgcc\gcctest\gcctest1 make
설치 방법 (for WinNT) path에 c:\avrgcc\bin을 추가 AVR 환경변수 CC 환경 변수 c:/avrgcc(즉, avr-gcc가 설치된 디레토리, '/'임을 주의 !) CC 환경 변수 avr-gcc로 설정 "내 컴퓨터"의 등록 정보-> "환경 변수" set AVR=c:/avrgcc set CC=avr-gcc set PATH=c:\avrgcc\bin;%PATH%
AVR-ISP