ITS_Blog

아두이노 와이파이 쉴드 펌웨어 업데이트 방법(How to update Arduino WIFI Shield Firmware) ) 본문

Study & Programming2/Arduino

아두이노 와이파이 쉴드 펌웨어 업데이트 방법(How to update Arduino WIFI Shield Firmware) )

알 수 없는 사용자 2018. 9. 1. 16:01

아두이노 와이파이 쉴드 펌웨어 업데이트하는 법을 알아보겠습니다.


###본 작업에 앞서, 아두이노 와이파이 쉴드를 아두이노로 부터 분리해 주세요.


먼저, 아두이노 와이파이 쉴드를 프로그래밍 모드로 진입하기 위해 아두이노 와이파이 쉴드의 점퍼선을 연결합니다.

밑 사진처럼 핀 2개를 연결해주셔야 프로그래밍 모드로 작동됩니다.


점퍼를 연결했으면, USB케이블을 이용하여 컴퓨터와 연결합니다.

USB케이블과 점퍼를 연결한 사진은 아래와 같습니다.



이제 펌웨어를 다운로드 하기 위해 아두이노 공식 홈페이지에 접속하여 도구를 설치합니다.

https://www.arduino.cc/en/Hacking/WiFiShieldFirmwareUpgrading


위 홈페이지에 접속하여 

위 항목을 찾으신뒤 here을 눌러 페이지를 이동합니다.

그럼 아래와 같은 홈페이지가 열립니다.

http://www.microchip.com/developmenttools/ProductDetails/PartNo/flip


여기서 밑 부분을 보시면

위에서 부터 윈도우버전(자바 포함, 미포함), 리눅스버전이 있습니다.

여기서 맨위의 것을 설치합니다.(FLIP 3.4.7.112 for Windows (Java Runtime Environment included))

그럼 exe파일이 다운로드될 것이고, 설치해줍니다.


프로그램 설치가 끝났다면 이제는 USB드라이버를 설치해줄 차례입니다.

위 프로그램을 제대로 설치해 주었다면 C:\Program Files (x86)에 Atmel폴더가 생겼을 것입니다.

장치관리자를 열어보시면 



위와 같이 장치드라이버가 설치되지 않은 채로 있습니다.

이를 마우스 우클릭 - 드라이버 업데이트 - 컴퓨터에서 드라이버 소프트웨어 검색순으로 눌러줍니다.

드라이버 검색 경로를 C:\Program Files (x86)\Atmel\Flip 3.4.7\usb 로 설정하고 다음 버튼을 눌러줍니다.



다음버튼을 누른후에 



위와 같이 드라이버가 잡혔으면 성공입니다.


다음은 설치에 필요한 파일을 다운로드 하는 과정입니다.

###위 과정은 윈도우 버젼에 따라 필요할 수도 있고 없을 수도 있습니다. 필자의 경우 윈도우 10 RS4이며 필요했습니다.


wifi_dnld.elf

wifiHD.elf


첨부파일을 다운로드 해서 C디스크의 최상단에 넣어줍니다.


###다운로드시에 C 디스크로 바로 저장이 안될 수 있습니다. 

###바탕화면이나 다운로드 폴더에 먼저 저장한 후 복사해주세요.


드라이버 설치와 첨부파일의 다운로드가 완료되었다면, 명령프롬프트(CMD)창을 열어줍니다.


명령창에  cd C:\Program Files (x86)\Atmel\Flip 3.4.7\bin 을 입력해 줍니다.



이제 명령어를 입력하는 단계입니다.

자신의 와이파이 쉴드의 칩셋에 따라 명령어가 다릅니다.



자신의 칩셋의 번호를 확인하시고 자신의 칩셋에 맞는 코드를 명령프롬프트 창에 입력해 주세요.

필자는 AT32UC3A1512 입니다.


AT32UC3A1512의 소스는 아래와 같습니다.

batchisp.exe -device AT32UC3A1512 -hardware usb -operation erase f memory flash blankcheck loadbuffer /Arduino/hardware/avr/arduino/firmwares/wifishield/binary/wifi_dnld.elf program verify start reset 0


AT32UC3A1256의 소스는 아래와 같습니다.

batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer /Arduino/hardware/avr/arduino/firmwares/wifishield/binary/wifi_dnld.elf program verify start reset 0



위 소스를 입력했을때 Could not open USB device 가 뜰경우 USB케이블 및 드라이버가 제대로 설치됬는지 확인하세요. 

또는 Reading error이 발생할 경우 명령프롬프트를 관리자 권한으로 실행해서 위 과정을 진행해보시거나 첨부파일의 위치가 C 로컬디스크의 최상단에 위치하는지 확인해보세요.


모든 과정이 PASS(성공)한다면 아두이노 와이파이 쉴드를 리셋시켜 줍니다.(리셋버튼을 눌러줍니다.)

좌측상단에 있는 스위치가 리셋 스위치 입니다.




리셋을 하였으면 두번째 소스를 입력해야 합니다.


AT32UC3A1512의 소스는 아래와 같습니다.

batchisp.exe -device AT32UC3A1512 -hardware usb -operation erase f memory flash blankcheck loadbuffer /Arduino/hardware/avr/arduino/firmwares/wifishield/binary/wifiHD.elf program verify start reset 0


AT32UC3A1256의 소스는 아래와 같습니다.

batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer /Arduino/hardware/avr/arduino/firmwares/wifishield/binary/wifiHD.elf program verify start reset 0


위 과정까지 PASS하셨다면 펌웨어 업데이트를 성공적으로 완료한 것입니다.

작업이 완료되었다면 USB케이블을 분리하고, 점퍼케이블을 분리해주세요.(프로그래밍 모드를 해제)

이후 정상적으로 쉴드를 사용하시면 됩니다.


긴글 읽어주셔서 감사합니다.



참고자료

https://www.arduino.cc/en/Hacking/WiFiShieldFirmwareUpgrading

http://forum.arduino.cc/index.php?PHPSESSID=0g864usaihcj5af5uckifaso93&topic=180445.0

Comments