CodevisionAVR 설치와
기본 사용법
민경학 ( [email protected])
인하대학교 IT 공과대학 전자공학과
멀티미디어연구실(하이테크센터 916 호)
2008.9.7.001
인하대학교 전자공학과
WWW.INHAELEC.COM 2 CLUB.CYWORLD.COM/INHAEPT
들어가며…
AVR 에서 쓸 수 있는 컴파일러 종류에는 CodeVisionAVR, AVR Edit, IAR,
AVRStudio 등이 있습니다. CodeVisionAVR 과 IAR 은 상용이고 AVR Edit 과 AVR Studio 는
gcc 기반이기 때문에 무료로 컴파일 할 수 있는 장점이 있습니다. 어느 컴파일러가
좋다 나쁘다 의 구분을 하기에는 무리가 있으며, 각각의 컴파일러는 장점과 단점이
존재합니다. 우리는 여기에서 통합 개발환경을 지원하는 CodeVisionAVR 의 기본적인
설치법과 초기 프로젝트 생성법, ToastProg 를 이용한 전송 방법등을 알아 보겠습니다.
WWW.ICLUB.CY
1. 다운Codev
에 방문
지불하
현재 최
코드의
다음과
NHAELEC.COYWORLD.COM
운로드 및visionAVR 의 제
문하여 무료버
고 Commercia
최신버전은 2.0
길이가 제한
같은 순서로
<HP
OM M/INHAEPT
및 설치제작사인 HP
전인 Evaluati
al version 을 구
03.6 입니다.
한(2KB)되어 있
로 최신버전을
P InfoTech 사
inforTech 사의
ion version 을
구매하여 다운
Evaluation ve
있다는 점이며,
다운로드하여
홈페이지 초
의 홈페이지 (
을 다운로드 받
운로드 받을 수
ersion 과 Com
, 기타 성능상
여 쓰실 수 있
초기화면, Prod
인하대학
(http://www.
받거나 일정금
수 있습니다.
mmercial versi
상의 제한은 없
있습니다.
ducts 클릭>
학교 전자공학
hpinfotech.co
금액을
2008 년 9 월
on 의 차이점
없습니다.
학과
3
om/)
은
WWW.ICLUB.CY
다운로
설치를 종
아이콘을
NHAELEC.COYWORLD.COM
로드 후, 설치는
종료하면 바탕
을 더블클릭하
OM M/INHAEPT
는 기본옵션으
탕화면에 Cod
하면 프로그램
으로 진행하며
evisionAVR Ev
램이 실행됩니
며 계속 <다음
valuation 아이
니다.
인하대학
>버튼을 눌러
이콘이 생성됩
학교 전자공학
러 설치합니다
됩니다. 이
학과
5
다.
인하대학교 전자공학과
WWW.INHAELEC.COM 6 CLUB.CYWORLD.COM/INHAEPT
2. 프로젝트 생성
프로그램을 구동시키면 다음과 같은 화면을 보실 수 있습니다.
<최초 구동화면>
위의 화면에서 <File> ‐ <New> 순서로 클릭을 하면 File Type 을 고르는 화면이
나타납니다. File Type 은 Project 로 선택합니다.
인하대학교 전자공학과
WWW.INHAELEC.COM 7 CLUB.CYWORLD.COM/INHAEPT
< OK>를 클릭하면 아래와 같은 화면이 나타나는데 이는 CodeWizardAVR 을 사용할
것인지에 대한 화면입니다. 이 CodeWizardAVR 은 사용자가 매우 손쉽게 초기화 및
기타 설정을 해줄 수 있는 기능으로써, CodeVisionAVR 이 가지고 있는 매우 간편하고
강력한 기능 중 하나입니다. 우리는 wizard 를 사용할 것이므로 Yes 를 클릭합니다.
Yes 를 클릭하면 다음과 같은 설정화면이 나타납니다
인하대학교 전자공학과
WWW.INHAELEC.COM 8 CLUB.CYWORLD.COM/INHAEPT
위의 설정 중 중요한 항목이 Chip 과 Clock 입니다. 우리는 ATMEGA128 을 이용하고
Clock 는 16Mhz 를 이용할 것이므로 위와 같이 설정합니다. 초기 설정은 Chip과
Clock만 정확히 맞춰 주고 저장 후 종료를 해줘도 상관이 없습니다. 다만 여기에서 좀
더 간편하게 설정을 할 수 있으며, 자신이 원하는 부분에 대해 직접 설정해 주면 해당
소스코드가 자동으로 C 파일 내에 생성이 되는 방식입니다. 기본적인 포트제어부터
DS1302(Real‐Time Clock)등에 이르기까지 많은 기능을 클릭 몇 번으로 손쉽게 초기화
할 수 있다. 코딩 중 레지스터를 직접적으로 제어하는 것 보다 효율적이고 정확합니다.
다른 메뉴에 대해서는 진도에 따라 다시 설명하는 것으로 하겠습니다.
설정을 마치고 Flie ⇒ Generate, Save and Exit 를 클릭 합니다.
Source File 의 이름을 설정합니다. 알맞은 이름으로 생성합니다. 여기서는 test 로
생성하겠습니다. 확장자는 입력하지 않아도 자동으로 입력됩니다.
프로젝트 이름 또한 입력합니다. 혼동을 피하기 위해서 앞서 작성한 Source File 의
이름과 동일하게 합니다.
인하대학교 전자공학과
WWW.INHAELEC.COM 9 CLUB.CYWORLD.COM/INHAEPT
WizardAvr 로 작성한 내용을 저장하는 화면입니다. 파일명을 동일하게 합니다.
주의할 점은 파일명을 다르게 했을 경우에는 혼동이 올 수 있으므로 위의 3 개
파일명을 동일하게 하여 작성하도록 합니다.
설정에 의하여 소스코드가 생성된 화면입니다. 우리가 wizard 를 이용해서 설정한
내용이 자동으로 소스코드가 생성되어 입력되어 있습니다. 화면 하단으로 스크롤
하면 while 문이 있는데 여기에 // Place your code here 라는 주석이 있습니다,
여기에서부터 코딩을 시작하면 됩니다. 보통 코딩시 초기화는 무한루프(while(1))바로
위에서 작성하도록 하고, 실제 동작을 위한 내용은 무한루프 안에서 하도록 합니다.
WWW.ICLUB.CY
3. 컴파 코드를 작
구 버전(
신 버전(
컴파일(빌
만약 이상
NHAELEC.COYWORLD.COM
파일 작성하고 나서
1.xx 버전) : <
2.xx 버전) : <
빌딩)을 한 후
상이 있다면 다
OM M/INHAEPT
서 다음과 같이
Project> ‐ <M
Project> ‐ <Bu
후 이상이 없으
<Buildin
다음과 같이 E
<Buildin
이 컴파일을 합
Make> (단축키
uild>또는 <Bu
으면 아래와 같
ng(Complie)에
Error 메시지와
ng (Complie)에
합니다.
키 SHIFT+F9)
uild all> (단축
같은 결과가 출
에 성공한 화면
와 함께 Error
에 실패한 화면
인하대학
축키 SHIFT+F9
출력됩니다.
면>
의 위치를 출
면>
학교 전자공학
또는 CTRL+F9
출력해줍니다.
학과
10
9)
.
인하대학교 전자공학과
WWW.INHAELEC.COM 11 CLUB.CYWORLD.COM/INHAEPT
4. 프로그래밍 (퓨즈비트 설정) CodeVisionAVR 은 USB 포트를 이용한 USB‐ISP Programmer 를 이용한 자동 전송도
지원하지만 우리가 1 학기에 이용했던 ToastProg 를 이용한 전송도 지원하므로 우리는
ToastProg 를 이용해서 전송하도록 하겠습니다. 기본적인 전송방법은 AT89S52 를
전송할 때와 동일하지만 전송에 앞서 중요한 작업이 있습니다.
ATMEGA128 은 퓨즈비트라는 것을 설정해 주어야 하는데, 퓨즈비트에 대해서 간단히
설명하자면, CHIP 의 상태를 설정하는 것으로써 잘못 설정한다면 CHIP 에 다시
프로그래밍을 할 수 없는 LOCK 상태가 될 수 도 있으므로 주의해서 프로그래밍 해야
합니다. 퓨즈비트는 초기 1회만 설정 해주면 됩니다.
ToastProg 를 실행시킨후 <Command> ‐ <Configuration & Security bits> 를 클릭하거나
오른쪽과 같은 Secur 버튼을 클릭하여 아래와 같이 설정 한 후 <Write> 버튼을
눌러 프로그래밍 합니다. CKOPT 에만 체크하도록 합니다.
<퓨즈비트 설정화면, CKOPT 에 만 체크 합니다>
이후 전송방법은 AT89S52때와 동일한 순서로 진행합니다. 앞서 만들어진 HEX
파일이 저장된 경로를 찾아서 프로그래밍 합니다. ATMEGA128 은 EEPROM 을 가지고
있으므로 EEPROM 프로그래밍 또한 같은 방법으로 프로그래밍 합니다.
<참고>
인하대학교 전자공학과
WWW.INHAELEC.COM 12 CLUB.CYWORLD.COM/INHAEPT
정상적인 프로그래밍 시간은 5초 이내 입니다. ToastProg 프로그램 자체의 결함으로
가끔 10 초 이상 긴 시간 동안 프로그래밍이 된다면 이는 프로그래밍에 실패한 것이니
다시 프로그래밍을 하도록 합니다.
<생성된 HEX file 을 선택하는 화면>