반응형

Microchip Studio에서 프로젝트를 생성하여 AVR에 프로그램을 올리는 방법을 다룹니다. 

 

AVRISP mkII 호환제품과 Atmega 128 보드로 테스트를 진행했습니다.

 

2015. 12. 7 최초작성

https://www.olimex.com/forum/index.php?topic=4065.0 에서 7.0에서도  사용 가능하다는 글을 보고는  정품 AVRISP mkii를 사용하는 것은 아니지만 혹시나 해서 해봤습니다.. 윈도우 10 64비트 버전을 사용중인데 문제 없이 잘 동작합니다 : )
~
2021. 7.10 최종작성

최근(아마도 작년) Avr Studio에서 MicoChip Studio로 이름이 바뀌었네요.  2번~5번을 하지 않고 진행해도 되는지는 테스트 못해봤습니다. 

                          

 

 

1. 아래 링크에서 Microchip Studio for AVR and SAM Devices 7.0.2542 Offline Installer을 다운로드 받아 설치합니다.

https://www.microchip.com/en-us/development-tools-tools-and-software/microchip-studio-for-avr-and-sam-devices#Downloads 

 

Microchip Studio for AVR® and SAM Devices | Microchip Technology

Get free training on our products 24 hours a day, every day. We offer on-demand courses and live sessions on general embedded control topics as well as Microchip, Atmel and Microsemi products. Learn how to improve your business by using our products to the

www.microchip.com

 

설치시 플랫폼 3가지 중 설치할 것을 물어보는데 AVR만 체크해도 무방합니다. 

마지막에 추가 라이센스를 얻을지 물어보는데 무시해도 될듯합니다. 

 

 

2. AVRISP mkii를 노트북에 연결해주고 혹시 충돌생길까봐 Microchip Studio을 종료시켜 둡니다.

 

 

3.  http://zadig.akeo.ie/ 에서 Zadig를 다운로드 받아서 실행합니다.  첫번째 콤보 박스에 AVRISP mkII가 보이지 않으면  메뉴에서 Options > List All devices를 선택합니다.  다른 항목이 보이면 콤보박스에서 AVRISP mkII를 선택해줍니다. 

 

 

 

4. 스크린샷처럼 WinUSB를 libusb-win32로 바꾼 상태에서 Replace Driver 버튼을 클릭합니다.

 

 

 

5. 성공했다는 메시지가 보이면 close버튼을 클릭하고 zadig를 종료합니다. 

 

 

 

6. Microchip Studio을 실행하여 메뉴에서 Tools > device programming을 선택합니다.

처음에는 Tool 항목에 아무것도 보이지 않습니다. 

 

 

 

7.  Tool 아래있는 콤보박스를 눌러서 AVRISP mkII로 바꾸어줍니다. 

Atmega128 보드를 ISP에 연결해주고 인식 안될 수 있으니 ISP를 PC에 다시 연결해줍니다. 

 

Device에서 사용할 마이크로컨트롤러를 선택해줍니다. 여기에선 Atmega128A를 선택해주었습니다.

 

Interface는 ISP가 선택된 상태로 둡니다. 이제 Apply 버튼을 클릭합니다. 

 

 

 

다음 스크린샷처럼 바뀝니다.  

 

 

8.  문제없다면 오른쪽에 보이는 두 개의 READ 버튼 클릭하면 각각 값을 읽어옵니다.  

 

 

 

9. 새로운 프로젝트를 생성하여 테스트해봅니다. 메뉴에서 File > New > Project를 선택합니다.

GCC C Executable Project를 선택해주고 Name(프로젝트 이름)으로 Led를 입력하고 OK를 클릭합니다. 

 

 

 

10.  오른쪽 검색창에 마이크로컨트롤러의 모델명을 입력 후, 왼쪽에 검색된 목록에서 디바이스를 선택합니다.

여기에선 128A를 검색하여 Atmega128A를 선택했습니다. OK를 클릭합니다.

 

 

 

11. 새로운 프로젝트가 생성되었습니다. 다음 코드를 복사하여 붙여넣기 합니다. 

#define F_CPU 16000000  
#include <avr/io.h>  
#include <util/delay.h>  
  
int main(void) {  
      
    //포트D를 출력으로 설정한다.  
    DDRD = 0xFF;  
      
    while (1) {  
          
        //포트D의 값을 0xFF로 한다. LED가 켜진다.  
        PORTD  = 0xFF;  
        _delay_ms(300); //300ms 대기  
          
        //포트D의 값을 0x00으로 한다. LED가 꺼진다.  
        PORTD = 0x00;  
        _delay_ms(300); //300ms 대기  
          
    }  
    return 0;  
      
}

 

 

12. 코드를 컴파일하기 위해 메뉴에서 Build > Build Solution을 선택합니다. 문제 없으면 로그 마지막에 다음 메시지가 보입니다. 

Build: 1 succeeded or up-to-date, 0 failed, 0 skipped 

 

 

13. 이제 보드에 올려야 합니다.  메뉴에서 Tools > Device programming을 선택합니다.

Tool에 AVRISP mkII, Device에 사용할 마이크로컨트롤러, Interface에 ISP가 선택되었는지 확인하고 Apply 버튼을 클릭합니다. 

 

 

 

문제 없으면 다음처럼 보이게 됩니다. 

 

 

 

14. 왼쪽 항목에서 Memories를 선택합니다. 컴파일 된 결과물이 오른쪽 Flash 항목에 입력되어 있는게 보입니다. 이제 Program 버튼을 클릭합니다.

 

 

 

15. 문제없으면 로그에 다음처럼 3가지 항목 옆에 OK로 출력됩니다. 

 

Erasing device... OK
Programming Flash...OK
Verifying Flash...OK

 

 

16. 이제 보드에 LED를 연결해서 문제 없이 LED가 깜빡이는지 확인합니다.  

코드에선 포트D에 연결된 LED를 깜빡이도록 합니다. LED의 긴다리를 포트D 핀 중 하나에 연결해주고 LED의 짧은 다리를 GND(그라운드) 핀에 연결하면 됩니다. 

 

 

반응형

해보고 확인한 것을 문서화하여 기록합니다.
최소 일주일에 한번 이상 포스트를 하려고 노력중입니다.

부족함이 있지만 도움이 되었으면 합니다.
잘못된 부분이나 개선점을 알려주시면 감사하겠습니다.



포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
시간날때 마다 이전 포스트가 문제 있는지 확인을 해보려고 노력하고 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">
  1. thumbnail
    BlogIcon 이유환
    2016.06.25 08:44

    어제avr 교육받고돌아와서 4.19 깔리질 않아 고민꺼리였는데 고맙심더.

  2. thumbnail
    김영채
    2016.08.18 15:27

    안녕하세요 atmel studio7.0을 처음 사용하는 학생입니다.

    다른 컴퓨터에서는 잘 돌아가는데

    새로 설치한 컴퓨터에서는 계속

    Read voltage 0.0V is outside selected device's operating range: 2.7V to 5.5V.
    Do you want to continue ?

    라는 메세지가 뜹니다.

    어떻게 해결할수 있는지 도움 요청합니다 ㅠㅠ

  3. thumbnail
    메로나맛파이
    2017.04.25 09:53

    4.19 잘 쓰다가 어느날 갑자기 usb인식이 안 되서 이걸 설치해보네요..허허.. 지금 설치 중인데 제발 잘 되길..

  4. thumbnail
    김민규
    2017.05.30 20:47

    usb변환시킬 떄 에러가 뜨는데, (replace)그럼 어떻게 해야 대나요?

    첨에 댔었는데, reinstall 과정 도중에 모르고 뽑았다가 다시하니까 이러네요 ㅜ

    • thumbnail
      Favicon of https://webnautes.tistory.com BlogIcon webnautes
      2017.05.30 22:28 신고

      기존 펌웨어를 다운로드받아 복원시켜야 할듯합니다

    • thumbnail
      김민규
      2017.05.30 23:17

      혹시 정말 죄송한데 하나만 더요 ㅜ 기존 펌웨어라는게 그 zadig말씀하시는건가요??그리고 저것 ISP6핀 짜리도 작동하는것 맞나요??ㅜ 정말 감사합니다!

    • thumbnail
      Favicon of https://webnautes.tistory.com BlogIcon webnautes
      2017.05.30 23:29 신고

      제가 사용하는 것도 정품 mk ii가 아닌 6핀 지원 mk ii 호환 모델이었는데 변환후 지금도 잘쓰고 있습니다.

      펌웨어는 제조사꺼를 써야 할듯합니다.

    • thumbnail
      김민규
      2017.05.30 23:32

      아 ISP 펌웨어 말씀하시는거세요??오 진짜 감사합니다 ㅜ

    • thumbnail
      Favicon of https://webnautes.tistory.com BlogIcon webnautes
      2017.05.30 23:49 신고

      지금 다시보니 펌웨어를 건드리는게 아니라 윈도우 드라이버를 변환하는 듯합니다..


      장치관리자에서 해당 드라이버 삭제하고 다시 원래 제조사에서 준 윈도우용 드라이버 설치해보세요..

  5. thumbnail
    rtc0822
    2017.06.11 11:38

    에러코드 0xc0이라고 뜨는데 해결법아시나요 도와주세요..

  6. thumbnail
    williamgilbert
    2017.06.16 16:42

    덕분에 오류난거 해결했네요.
    감사합니다.
    좋은하루되세요.

  7. thumbnail
    subin
    2018.01.23 16:07

    zadig를 실행시키고 갑자기 마우스가 인식되지 않습니다.....

  8. thumbnail
    엘리파
    2020.01.07 12:02

    정말 오랫만에 mkII 와 atmega128a 를 사용하여 컴파일하고 라이팅 했네요
    덕분에 쉽게 바로 했어요. 늘 건강과 행운이 함께 하길 바래요