CodevisionAVR 설치와 기본사용법 민경학 ( hak@anycalluser.net) 인하대학교 IT 공과대학전자공학과멀티미디어연구실 ( 하이테크센터 916 호 ) 2008.9.7.001
들어가며 AVR 에서쓸수있는컴파일러종류에는 CodeVisionAVR, AVR Edit, IAR, AVRStudio 등이있습니다. CodeVisionAVR 과 IAR 은상용이고 AVR Edit 과 AVR Studio 는 gcc 기반이기때문에무료로컴파일할수있는장점이있습니다. 어느컴파일러가좋다나쁘다의구분을하기에는무리가있으며, 각각의컴파일러는장점과단점이존재합니다. 우리는여기에서통합개발환경을지원하는 CodeVisionAVR 의기본적인설치법과초기프로젝트생성법, ToastProg 를이용한전송방법등을알아보겠습니다. WWW.INHAELEC.COM 2
1. 다운로드및설치 CodevisionAVR 의제작사인 HP infortech 사의홈페이지 (http://www. hpinfotech.com/) 에방문하여무료버전인 Evaluation version 을다운로드받거나일정금액을지불하고 Commercial version 을구매하여다운로드받을수있습니다. 2008 년 9 월현재최신버전은 2.03.6 입니다. Evaluation version 과 Commercial version 의차이점은코드의길이가제한 (2KB) 되어있다는점이며, 기타성능상의제한은없습니다. 다음과같은순서로최신버전을다운로드하여쓰실수있습니다. <HP InfoTech 사홈페이지초기화면, Products 클릭 > WWW.INHAELEC.COM 3
WWW.INHAELEC.COM 4
다운로드후, 설치는기본옵션으로진행하며계속 < 다음> 버튼을눌러설치합니다. 설치를종료하면바탕화면에 CodevisionAVR Evaluation 아이콘이생성됩니다. 이아이콘을더블클릭하면프로그램이실행됩니다. WWW.INHAELEC.COM 5
2. 프로젝트생성 프로그램을구동시키면다음과같은화면을보실수있습니다. < 최초구동화면 > 위의화면에서 <File> <New> 순서로클릭을하면 File Type 을고르는화면이나타납니다. File Type 은 Project 로선택합니다. WWW.INHAELEC.COM 6
< OK> 를클릭하면아래와같은화면이나타나는데이는 CodeWizardAVR 을사용할것인지에대한화면입니다. 이 CodeWizardAVR 은사용자가매우손쉽게초기화및기타설정을해줄수있는기능으로써, CodeVisionAVR 이가지고있는매우간편하고강력한기능중하나입니다. 우리는 wizard 를사용할것이므로 Yes 를클릭합니다. Yes 를클릭하면다음과같은설정화면이나타납니다 WWW.INHAELEC.COM 7
위의설정중중요한항목이 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 8
WizardAvr 로작성한내용을저장하는화면입니다. 파일명을동일하게합니다. 주의할점은파일명을다르게했을경우에는혼동이올수있으므로위의 3 개파일명을동일하게하여작성하도록합니다. 설정에의하여소스코드가생성된화면입니다. 우리가 wizard 를이용해서설정한내용이자동으로소스코드가생성되어입력되어있습니다. 화면하단으로스크롤하면 while 문이있는데여기에 // Place your code here 라는주석이있습니다, 여기에서부터코딩을시작하면됩니다. 보통코딩시초기화는무한루프 (while(1)) 바로위에서작성하도록하고, 실제동작을위한내용은무한루프안에서하도록합니다. WWW.INHAELEC.COM 9
3. 컴파일 코드를작성하고나서다음과같이컴파일을합니다. 구버전 ( 1.xx 버전 ) : < Project> <Make> ( 단축키 SHIFT+F9) 신버전 ( 2.xx 버전 ) : < Project> <Build> 또는 <Build all> ( 단축키 SHIFT+F9 또는 CTRL+F9) 컴파일 ( 빌딩 ) 을한후이상이없으면아래와같은결과가출력됩니다. <Building(Complie) 에성공한화면 > 만약이상이있다면다음과같이 Error 메시지와함께 Error 의위치를출력해줍니다. <Building (Complie) 에실패한화면 > WWW.INHAELEC.COM 10
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 11
정상적인프로그래밍시간은 5 초이내입니다. ToastProg 프로그램자체의결함으로가끔 10 초이상긴시간동안프로그래밍이된다면이는프로그래밍에실패한것이니다시프로그래밍을하도록합니다. < 생성된 HEX file 을선택하는화면 > WWW.INHAELEC.COM 12
< 정상적으로프로그래밍이성공된화면 > WWW.INHAELEC.COM 13