이 블로그는 임베디드 컴퓨터를 이용한 장치(시스템) 개발과 원격제어에 필요한 지식을 공유 하기 위한 블로그 입니다.
실제 개발과 프로그램 예를 위하여 Microchip 사의 ATmega128를 사용한 보드와 Arduino Mega 보드(ATmega2560), Raspberry Pi, Raspberry Pi Pico, WiFi 모듈을 사용 합니다.

mega2560-MPLAB-program

MPLAB에서 AVRDUDE를 이용하여 Mega 2560에 Uploading 하기

Microchip MPLAB X IDE에서 AVRDUDE를 이용하여 Mega 2560에 Hex file Uploading 하기





Microchip MPLAB® X IDE 환경에서 아두이노(Arduino) Mega 2560 보오드를 개발 보오드로 사용 하기 위하여는 MPLAB X 환경에서 개발한 프로그램의 실행 File(Hex Format File)을 Mega 2560에 Uploading 하는 Tool이 필요하다.

  • Microchip MPLAB X IDE 환경에서 아두이노(Arduino) Mega 2560 보오드를 개발 보오드로 사용 하기 위한 준비
    • Microchip MPLAB® X IDE를 설치 한다.
    • 필요한 경우 Arduino 개발 환경 Tool(Arduino IDE)을 설치 한다.
    • Arduino IDE를 설치하지 않는 경우에는 별도로 avrdude를 다운로드 하여 설치 하여야 한다.
      • "avrdude(Arduino IDE)"를 다운로드 하여 적당한 위치에 저장 한다.
      • 참고자료: https://github.com/avrdudes/avrdude

      • 다운로드한 File에는 avrdude.exe과 avrdude.conf File이 포함되어 있다.
      • c:\ 에 적당한 이름의 폴더를 만들고 다운로드한 avrdude.exe 과 avrdude.conf FIle의 복사 한다.
      • C:\avrdude\ 폴더에 복사한 경우 예: C:\avrdude\avrdude.exe C:\avrdude\avrdude.conf

    • Mega 2560 보오드를 연결 하고 장치 관리자에서 COM Port 번호를 확인 한다.
    • 아래 그림의 예에서 COM Port 번호는 10 번 임.


  • MPLAB X IDE에서 실행 파일(Hex Format File)을 Up Load 하는 Tool(avrdude)을 사용 할 수 있게 설정 하기
    • MPLAB X IDE를 실행 하고, "Projects 창"에서 "Project name"을 선택하고 마우스의 우측 버튼을 Click 하면, Project 관리 창이 열린다. 이 창에서 "Properties"를 Click 하면 "Project Properties" 창이 열린다.
    • "Project Properties" 창에서 "Execute this line after build" Enable을 체크하고, Command Box에 Build 종료 후 실행할 명령(Hex 파일을 AVR에 Up Load 하는 프로그램)을 아래 예와 같이 입력한다.
    • avrdude.exe File의 위치 예.
      • Arduino를 C:\Program Files (x86)에 설치한 경우 avrdude.exe File의 경로 예
      • C:\Users\chowk\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino18\bin\avrdude.exe 이다.

      • Arduino를 설치 하지 않은 경우 avrdude.exe File의 경로 예는 아래와 같다.
      • C:\avrdude\avrdude.exe

    • avrdude.conf File의 위치 예.
      • Arduino를 C:\Program Files (x86)에 설치한 경우 avrdude.conf File의 경로 예
      • C:\Users\chowk\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino18\etc\avrdude.conf 이다.

      • Arduino를 설치 하지 않은 경우 avrdude.conf File의 경로 설정 예
      • C:\avrdude\avrdude.conf

    • Command Box에 avrdude.exe, avrdude.conf File의 경로와 Arguments을 아래 예와 같이 입력 한다.
      • Arduino를 설치한 경우 Command Box에 입력하는 명령 예
      • C:\Users\chowk\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino18\bin\avrdude.exe -v -C "C:\Users\chowk\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino18\etc\avrdude.conf" -p atmega2560 -c wiring -P COM10 -D -U flash:w:$(ImagePath)

      • Arduino를 설치 하지 않은 경우 Command Box에 입력하는 명령 예
      • C:\avrdude\avrdude.exe -v -C "C:\avrdude\avrdude.conf" -p atmega2560 -c wiring -P COM10 -D -U flash:w:$(ImagePath)

        주: $(ImagePath)는 Upload할 Hex file의 경로임.


        아래 그림은 "Project Properties" 창에서 avrdude 사용을 위한 설정 예 이다.


  • Mega 2560에 Uploading 하기
    • 위와 같은 Build 옵션 설정으로 이제 Build 후 Hex File을 Upload 하는 명령이 자동으로 실행 되기 때문에 Build 명령을 실행하면 Build 후 Hex File이 자동으로 Upload 된다.
    • 만약 Build 후 자동으로 Hex File이 Upload 되지 않도록 하려면 Project Properties" 창에서 "Execute this line after build" 명령을 Disable 하여야 한다.