眼保의 삶의 자취

meho.egloos.com


A타입 클린 캠페인 위젯



AVR Studio 5.1 개발환경 - 1부 AVR

학교에서 마이크로프로세서 과목을 듣게 되었습니다.
작년까진 AVR 뿐만 아니라 ARM도 touch!!했다던데 올해는 왜인지 모르겠으나 AVR만 하네요. 개인적으로 ARM 해보고팠는데...;ㅅ;
어쨌든 AVR의 세계에 발을 들여놓았으니 개발환경부터 알아봐야겠네요. 거두절미하고 AVR IDE 프로그램인 AVR Studio 5.1에 대해서 알아보겠습니다.

-----------------------------------------------------------------------------------------------------------------------

AVR Studio 4 버전에서는 툴체인(WinAVR)을 먼저 설치하고 컴파일러와 링커를 연결해야 하지만 AVR Studio 5 버전부터는 AVR GCC 툴체인이 이미 포함되어 있으므로 따로 설치할 필요가 없습니다.(AVR Studio 4.19는 AVR toolchain 3.3.0을 설치합니다.)

5버전부터는 Atmel사에서 MS Visual Studio 프레임워크를 써서 Microsoft Visual Studio 2008과 인터페이스가 유사하므로 이 툴을 사용해 봤다면 AVR Studio 5를 사용하는데 크게 어려움은 없습니다.(덕분에 옵션 메뉴는 찾기가 더 힘들기도 하죠.-ㅅ-) 참고로, AVR Studio 5.0 버전에서는 프로젝트를 생성하기 전에 AVRGCC 템플릿을 수동으로 추가 해줘야 하지만, AVR Studio 5.1버전에서는 자동으로 추가되어 있으므로 프로젝트를 바로 생성해줘도 무방합니다. 5.0을 써야하는 이유가 아니라면 웬만하면 5.1을 사용하세요.

- AVR Studio 5.1 full ver.(616MB)

- AVR Studio 5.1 small ver.(396MB)

AVR Studio는 무료로 받을 수 있는 툴이지만 다운받으려면 회원 등록을 해야 합니다.(간단하지만 귀찮죠.) 그래서 direct로 받을 수 있는 링크를 제공해 드립니다.(불법은 아니겠지?)

Atmel사 웹페이지에 따르면 Full 버전은 인터넷이 안되는 환경에 추천한다는군요. MS Visual Studio Shell and .NET 4.0이 포함되어 있답니다. 참조하세요~

설치를 하고 실행하면 위와 같은 화면이 나옵니다. C언어로 프로그래밍 하기 위해서는 첫 번째 메뉴를 선택하고, 어셈블리어로 프로그래밍 하기 위해서는 좌측의 Assembler 템플릿을 선택하면 됩니다..


다음으로, 디바이스를 선택하면 프로젝트가 생성됩니다. 저는 Atmega128을 사용하므로 우측 상단에 검색을 하면 알아서 찾아줍니다. 좋은건, DataSheet를 바로 볼 수 있다는 겁니다. 링크를 시켜놨죠. Supported tools에 있는 링크는 눌러도 묵묵부답입니다.


프로젝트를 생성하면 익숙한 main 함수가 입력되어 있습니다. while(1){}함수도 기본으로 쓰여져 있으니 편리하네요.(처음 시작했을 땐 이 무한루프가 왜 있는지 이해가 안됐으나, 몇 주 공부하다보니 알게됐습니다.-_-


간단하게, A핀에서 값을 읽어서 B포트로 값을 내보내는 프로그램 입니다.
제가 이 프로그램을 만들었던게 DIPSwitch에서 값을 읽어서 LED로 출력해주는 초 간단한 프로그램이었습니다. 하지만 임베디드 초심자에게는 그저 멍때리게 만드는 코드에 불과하지요.OㅁO..............
F7번을 누르거나 '빌드' - '솔루션 빌드'를 클릭해도 됩니다. (프로그래밍 하시는 분들은 대부분 뜨거운 열쇠(Hot Key)를 사용하시겠죠?)


컴파일 하면 뭐, 간단하죠. MS Visual Studio 환경과 다를게 없습니다. C를 5년간 해왔던 저는 Visual Studio만 봤기 때문에 전혀 위화감이 없었습니다.


F5번을 눌러 Debugging을 시작하려 하면 위와 같은 화면이 나타나서 AVR Simulator 선택화면이 나타납니다. AVR Studio 5.1에서 AVR Simulator를 내장하고 있다는 것을 알 수 있습니다.


디버깅 모드입니다. 프로세서 창에 아무것도 뜨지 않으니, while문에 Break point를 주어서 멈춰보겠습니다.


드디어 AVR Studio 4버전과 비슷한 디버깅 화면이 나타났습니다! 좌측에 Registers를 활성화 하면 굳이 레지스터 창을 따로 띄우지 않아도 간단하게 살펴볼 수 있습니다. 우측의 IO View 창에서는 더욱 상세하게 레지스터의 각 비트가 어떻게 설정되어 있는지 이전 버전보다 visual하게 보여줍니다.(눈이 즐거워요~(?))
그리고 Steb by Steb으로 코드를 실행할 때마다 바뀌는 값은 빨갛게 출력해 줍니다.
※ 값을 입력하는 코드를 실행해도 입력 전후의 값이 동일하다면 디버거는 붉게 나타내지 않습니다. 즉, updated register에만 표시를 해준다는 겁니다.
하단의 '조사식'이라든지, '메모리' 창 등은 이전 버전과 동일하므로 따로 설명안해도 아실겁니다. 단, '지역' 창은 현재 커서가 위치한 함수 내의 지역변수 값을 보여줍니다. '자동' 창은 자동으로 커서가 이동될 때마다 필요할 것 같은 변수 값을 더욱 간추려서 보여주는데..... 전 불편해서 안씁니다;
디버깅을 끝내는 Hot key는 Ctrl+Shift+F5 입니다. 5버전으로 넘어오면서 Hot key가 좀 바뀌었습니다. 헷갈릴 수도 있으니 조심하세요~


이상으로 간단하게 AVR Studio 5.1에 대해서 알아보았습니다. 이미지를 많이 첨부하다보니 정말 별로 설명한 것도 없는데 이렇게 내용이 길어지는 착시현상을 경험할 수 있네요. 2부에서는 인터페이스가 확 바뀌면서 곳곳에 숨은 AVR Studio 4의 옵션들을 알아보겠습니다.

덧글

  • 死海文書 2012/04/07 23:00 #

    분명 C는 C인데...
  • 眼保 2012/04/07 23:02 #

    MCUCR, DDRA 같은건 AVR Atmega128에 사용되는 레지스터 닉네임이에요~ $15, $2A 같이 hex address로 접근해야 하는걸 io.h에서 renaming해줬답니다.ㅎㅎ
    저도 처음 봤을때 뭔 소린지 하나도 못알아 들었습니다.
  • 퍼렁머리 2012/04/07 23:50 #

    오 c++도 되나요. c만 되는것보다는 많이 편하겠네요
  • 眼保 2012/04/08 10:18 #

    AVR Studio 4에서도 됩니다. 근데 전 C++을 전혀 할줄 몰라서요...ㅋㅋ
  • windily 2012/04/08 10:26 #

    4.X쓰다가 5로 넘어오면서 정말 인터페이스가 확 예뻐졌지요.
    단지 다운로더지원이 자사의 제품만 지원하게 한건 좀 그렇더군요.
    5.1버전도 여전히 그런가요?
  • 眼保 2012/04/08 21:12 #

    글쎄요... 전 이제 막 시작한 터라 아직 개인적으로 부품을 가지고 있지 않습니다.-_-;;
    그저 학교에서 교육용 완제품만 써봐서 정확하게는 모르겠네요^^; 학교에선 AVR Studio 4를 쓰거든요...
    나중에 확인이 된다면 알려드리겠습니다.
  • 테라토 2012/04/11 21:54 # 삭제

    안녕하세요~~ AVR Studio 5.1 한글판은 어디서 구하셨나요?? ^^;
  • 眼保 2012/04/11 22:59 #

    Atmel 홈페이지에서 받아 설치하면 자동으로 한글로 잡아줍니다.(정확히는 OS 설정에 따라서...) 따로 한글판 설치 파일이 존재하지는 않습니다.
    만약 변경을 원하시면 옵션 메뉴에서 변경하실 수 있습니다.
    'Options' - 'Environment' - 'International Settings'
  • 훙훙 2012/10/29 11:21 # 삭제

    혹시 AVR Studio 4 도 저렇게 링크 만들어 주실수 있으신가요?

    학교에서 4를 쓰라고 하는군요 ㅠ
  • 眼保 2012/10/30 12:17 #

    보통 AVR studio 4.19를 많이 쓰긴 합니다. 오랫동안 써와서 그나마 제일 안정적인 버전이거든요. 물론 버그가 존재하긴 하지만.....
    4.19는 링크 찾기가 쉽습니다. 그래도 링크를 따로 올려드릴게요.
    avr studio 4.19 : http://www.avrmall.com/up_data/avrmall/tools/AVR_Studio_419(build730).exe

    toolchain (330710) : http://www.avrmall.com/up_data/avrmall/tools/avr-toolchain_330710.exe
  • Param 2013/02/08 21:58 #

    좋은 자료 감사합니다~
    코드비젼만 쓰다가 ....요걸로 프로그램 짜달라고 해서 -_+;
    4.19버젼으로 쓰다가 얼떨결에 6.0깔았는뎅 ㅠㅠa
    좌절 버젼입니다.....5점대 한번 써볼께용~*
    덕분에 좋은 자료 받아갑니다~*
  • Param 2013/02/08 21:59 #

    아.....역쉬 이눔의 원7은 한글이 안먹히나 보군요 -_-;;;;
    아낭 ㅠㅠa
    한글 한번 써보낭 했더닝 또 좌절....
  • 眼保 2013/02/20 16:20 #

    윈도우7에서 AVR Studio 5.x를 사용하면 한글이 입력이 안되나요? 본문 이미지에도 나와있듯이 저는 잘 되던데요;
    혹시 char 배열에 한글을 넣는걸 말씀하시는거면......... 드릴 말씀이 없네요.ㅎㅎ;
  • Smithe20 2016/12/21 12:29 # 삭제

    A big thank you for your article.Thanks Again. Great. dekbcedkdekdbkge
  • 眼保 2016/12/21 21:38 #

    I think, you are not Korean. But, I'm pleasant if this article is a help. :)
※ 로그인 사용자만 덧글을 남길 수 있습니다.