아두이노 USB 펌웨어 손상 , USB 펌웨어 업그래이드하기 / 16u2 / DFUprograming / 아두이노 USB 부트로더

안녕하세요 메카솔루션입니다.

 

어느날 갑자기 아두이노의 포트가 잡히지 않는 날이 있습니다. 회로를 잘못 연결했을 수 도 있고 건조한 탓에 정전기가 튀었을지도 모릅니다. 이럴경우 3가지의 가능성이 있는데 이중 2가지는 살릴 수 있고 한가지는 못살립니다.

 

1. 16u2칩의 펌웨어가 손상되었다.

이번에 알아볼것은 이것입니다. 셋중 어느것인지 알기는 어려우니 첫번째 두번째 모두 시도를 해보는 것이 좋습니다.

운이좋으면 처음부터 바로 해결이 될 수 도 있지요.

 

2. 16u2칩의 부트로더가 손상되었다.

ISP를 통해 부트로더와 함께 펌웨어를 다시 올릴 수 있습니다.

 

3. 16u2칩이 그냥 죽었다.

이런경우는 별로 없지만 시도해볼 것을 다시도해 보았다면 이만 포기하고 작별인사를 준비합니다.

 

아두이노의 https://www.arduino.cc/en/Hacking/DFUProgramming8U2

게시물을 기준으로 예제가 작성 됩니다.

 

우선 포트가 잡히지 않는것을 확인하였다면 바로 Flip설치를 시도해봅니다.

 

http://www.atmel.com/tools/flip.aspx

 

 

 

java runtime이 설치되어있다면 위의 것을 다운로드 해도 되지만 잘 모르겠다면 아래것을 다운로드 해주시면 편하게 실행 할 수 있습니다.

 

그리고 16u2 칩에 덮어 씌울 펌웨어를 다운로드 합니다.

 

https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial

 

 

 

우노보드의 경우 다운로드 할 수 있는 펌웨어는 다음과 같습니다.

 

차이는 USB포트가 제누이노로 인식되느냐 아두이노로 인식 되느냐 차이인데 크게 의미는 없습니다.

 

 

 

raw를 클릭하면 텍스트만 있는 화면이 보이는데 컨트롤 S를 눌러 다운로드 해줍니다. 

 

다운로드할때 확장자를 HEX로 변경해주셔야합니다.

 

파일을 다운로드하고 FLIP을 설치 완료했다면 다음 동영상을 참고할 수 있습니다.

 

 

영상을 보기전에 DFU모드로 넘어가기위해 16u2칩을 리셋 해주어야 합니다.

 

 

 

위와같이 USB에 연결된 상태에서 점퍼선으로 잠깐 연결했다가 때주면 DFU모드로 넘어갑니다.

 

 

 

감사합니다.

메카리워즈 Image Map


모바일 버전으로 보기