안녕하세요.
지난번에도 아두이노 나노 IoT 33 보드 살리는 법을 공유드렸습니다. 그런데 그때는 직접 하지 않고 자료만 가지고 가능하다는 것만 알려드렸습니다.
그래서 이번에는 직접 blocked 된 보드를 살려보도록 하겠습니다. 외국 분들이 잘 알려주셔서 따라 할 수 있었지만, 칩 선택하고 하는 부분은 스킵되고 현재 버전과 맞지 않는 부분이 있어 조금 수정하였습니다.
1. 원인과 증상
아두이노 나노 호환 버전과 제품과 같이 사용하다 보니 순간 착각하고 호환 보드로 선택해서 다운로드했는데 순간 먹통이 되어 버렸습니다.
아두이노 IDE에서 다운로드되지 않고 녹색 전원 LED 만 들어온 상태였습니다. 리셋(Reset) 버튼을 짧게 더블 클릭하거나 오랫동안 누르고 있으면 복구 모드로 들어간다고 하는데 일단 안되었습니다.
2. 복구하기 위한 준비물
J-LINK EDU 가 있다는 전제하에 진행하겠습니다.
(Arduino MKR ZERO 보드로도 가능한데 이것은 나중에 테스트해 보겠습니다.)
점퍼 케이블, 글루건(옵션사항)
3. 선 연결하기
아두이노 IoT 33 보드 뒷면에 보면 5개의 동판 점이 있습니다. 여기에 디버깅 위한 케이블을 연결해 줍니다.
1) 핀 확인
J-LINK와 연결 시 케이블을 최소화하기 위해서 J-LINK 케이블을 빼고 점퍼 케이블을 J-LINK에 연결하도록 했습니다.
2) 납땜하기
동판이 작아서 살짝 전선을 짧게 잘라서 납을 먼저 묻히고, 동판에도 납을 묻힌 다음에 납땜하시면 조금 안정되게 납땜하실 수 있습니다.
부트로더 올린 다음 선을 바로 제거하면 되겠지만, 부트로더 다운로드하려고 움직이면 잘 떨어져서, 옵션사항으로 글루건으로 고정시켜 주시면 편하게 작업할 수 있습니다. 디버깅용으로 사용할 수도 있으니 필요하다면 고정해서 사용해서도 됩니다.
3) 연결하기
J-LINK와 연결합니다. 그런데 J-LINK 쪽에 VCC 단에 전압이 걸리지 않아서 IoT 33 모듈에 USB 케이블을 연결해 주었습니다.
그럼 하드웨어적으로는 준비가 끝났습니다.
4. 부트로더(Bootloader) 다운로드하기
1) J-Flash 다운로드하기
J-LINK 사이트에 들어가서 본인의 OS에 맞는 것을 선택해서 다운로드합니다. 이미 사용하게 계신 분이라면 넘어가시면 됩니다.
https://www.segger.com/downloads/jlink/
2) Arduino Nano 33 IoT 부트로더 파일 다운로드하기
github에 올라온 bootloader bin파일을 다운로드하여 준비해 둡니다.
https://github.com/arduino/ArduinoCore-samd/tree/master/bootloaders/nano_33_iot
3) J-Flash Lite로 부트로더 Writing 하기
J-Flash Lite 버전을 사용해야지 라이선스 문제없이 Writing 됩니다. EDU 버전이라 그런지 J-Flash는 라이선스 만료되었다고 다운로드가 되지 않았습니다.
Device 명에 "CORTEX-M0+"를 선택, Interface는 "SWD" , "4000kHz" 선택하고 OK를 누릅니다.
Data File은 위에서 다운로드한 bootloader 파일을 선택합니다. 그리고 "Program Device" 누릅니다. 정상적으로 연결되어 다면 몇 초 지나지 않아 Writing 된 것을 알 수 있습니다.
5. 동작확인
J-LINK를 제거하고 전원을 넣어보면 처음 구매했을 때처럼 주황색 LED 서서히 꺼지고 껴지는 것을 확인할 수 있습니다.
보드를 Arduino NANO 33 IoT로 하고 포트도 선택해 줍니다. 그리고 "파일-> 예제-> basic->blink"를 선택하고 다운로드합니다. 그러면 주황색 LED가 깜박입니다. 이제 정상적으로 보드가 살아났다고 보시면 됩니다.
하드웨어적으로 할 일이 많지, 부트로더 Writing 하는 것은 금방 됩니다. Blocked 되었다고 다시 구매하거나 방치하지 말고 살려서 사용해 보아요.
다음에 다른 방법으로 살리는 것을 테스트해 보도록 하겠습니다.
감사합니다.
<참고사이트>
1.Arduino Nano 33 IOT
https://wiki.segger.com/Arduino_Nano_33_IOT
2.Arduino In-circuit Debugging with PlatformIO
https://medium.com/@manuel.bl/arduino-in-circuit-debugging-with-platformio-9f699da57ddc
3.How to debug an Arduino Nano 33 IoT with GDB?
https://www.visualmicro.com/page/SAMD-Nano33IoT-Debugging.aspx
'Embedded > Arduino' 카테고리의 다른 글
Arduino Nano IoT 33 Bootloader blocked 된 경우 MKR ZERO로 살리기(실패) (0) | 2024.04.13 |
---|---|
아두이노 나노 호환보드 워치독(Watchdog) 작동 안 되는 현상(멈춤현상) (0) | 2024.04.03 |
아두이노 나노를 이용한 압력센서 FSR (QA6P) 테스트 (4) | 2024.03.27 |
Arduino MPU9250(MPU6050) FIFO overflow error 해결하기 (2) | 2024.03.24 |
아두이노 나노를 이용한 GY-68(BMP180)기압/온도센서 테스트 (0) | 2024.03.21 |