ATmega32U4에 Arduino Leonardo 부트로더를 쓰는 방법

현재 프로젝트에서 사용하는 ATmega32U4에 Arduino Leonardo 부트 로더를 쓰는 데 어려움을 겪었으므로 Tips와 쓰기 방법을 소개합니다.

하드웨어



자작 PCB입니다. 모터 드라이버, 센서 관계, 승압 회로 등 다양한 타고 있었습니다.
플럭스가 남아 있고 더러운 것을 용서해주세요.

  • 마이크로 컴퓨터 ATmega32U4
  • 클럭 16MHz
  • 인터페이스 ICSP, MicroUSB 대응

  • 회로도나 PCB 가버 등 자세한 것은 이하


    실패 Arduino Leonardo에서 작성



    Arduino Leonardo를 ISP로 사용 부트 로더를 사용하는 방법.
    이 방법으로 결국 작동하지 않았지만 참고로 참조하십시오.


    Arduino Leonardo에는 ATmega32u4가 타고 있으므로, ATmega32u4에 부트 로더를 굽는 경우는 같은 칩으로부터의 쪽이 궁합이 좋은 것 같다. 쓰기기로 사용 Leonardo의 리셋과 GND 사이에 10μF 커패시터를 끼우고 잘 작동하지 않았습니다. 구체적으로 다음 오류가 발생했습니다.

    ArduinoIDE에서는 부트 로더의 쓰기를 간단하게 하기 위해, 대상을 선택해 버튼을 누르는 것만으로 기입할 수 있게 되어 있습니다만 뒤에서는 avrdude라고 하는 커멘드가 움직이고 있습니다.

    디폴트 설정에서는 실행 명령이나 진섭이 보이지 않기 때문에 verbose output를 IDE의 설정으로부터 업로드와 컴파일중에 유효하게 합니다. 이제 명령을 확인할 수 있습니다.
    /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cstk500v1 -P/dev/cu.usbmodem1101 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xcb:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m 
    

    에러 메세지로 -F옵션을 붙여 시험해 주세요라고 있으므로 마지막에 -F를 붙여 실행.
    /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cstk500v1 -P/dev/cu.usbmodem1101 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xcb:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m -F
    

    역시 에러, 데이터의 로드는 완료했습니다만, 부트 로더의 기입이 되지 않고 종료해 버립니다.


    대처법



    결론부터 말하면 USBasp를 사용하면 문제없이 쓸 수있었습니다.
    USBasp는 Atmel AVR 마이크로 컴퓨터 용 프로그램 작성기입니다. 10핀이므로 ICSP를 통해 쓰는 경우 6핀으로 변환이 필요합니다.

    화상에서는 자작의 변환 케이블 사용하고 있습니다.
  • USBasp


  • 6핀 변환


  • 사용법



    사용법은 간단하고 PC와 USBasp를 USB 포트에서 연결합니다.


    그런 다음 출력의 10핀을 ICSP용 6핀으로 변환한다.


    변환 케이블을 자작하고 싶은 분을 위해 USBasp의 핀 할당을 올려 둡니다.


    또한 변환한 6핀의 케이블을 타겟의 ICSP에 접속하면 배선은 완료됩니다.

    PC측에서는 ArduinoIDE를 기동합니다. 메뉴 > 도구에서 작성할 부트 로더의 이름을 보드에서 선택합니다. (이 경우 Leonardo 선택)
    포트는 아무것도 선택하지 않아도 괜찮습니다. 또한 USBasp를 프로그래머로 선택합니다. 마지막으로 부트 로더 쓰기를 누르면 쓰기 GA가 시작됩니다.

    쓰기가 성공적으로 완료되면 다음과 같이 표시됩니다. 이번 환경에서는 쓰기에는 30~40초 정도 걸렸습니다. 또 에러가 나왔을 때는, 변환이나 꽂기 실수등 접속을 재차 확인해 보세요.



    쓰기가 끝나고 보드를 PC와 직접 연결하면 ATmega32U4가 Arduino Leonardo로 인식되어 ArduinoIDE에서 스케치를 쓸 수 있습니다.

    수고하셨습니다!

    좋은 웹페이지 즐겨찾기