ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Atmel-ICE 로 Arduino 디버깅 하기#Uno편
    카테고리 없음 2020. 3. 6. 21:54

    제가 현재 보유한 아도우이노보ー도은 Uno, Nano, Pro mini 3v3, Mega 4개이다. AVR코딩을 별도 개발 보드로 할 경우도 있지만, 아 도우이노 보드를 사용하는 것을 즐기고 실시합니다. 아도이노는 Serial을 이용한 디버깅을 지원하지만 개발자 분들은 아시겠지만, 이러한 디버깅의 비결은 정예성이 부족합니다.저도 그래서 Atmel-ICE 장비를 보유하고 있습니다. 오늘은 Atmel-ICE 장치를 이용하여 Debug Wire 방식으로 아두이노보드에 프로그램을 올리고 디버깅하는 비결에 대해 설명하겠습니다. 이런 지식은 어디서 구할 수 있을까요? 네, 인터넷에는 저보다 뛰어난 경험이 있는 분들이 이미 저와 다같이 지식을 찾으려는 범인을 위해 많은 이야기를 정리하고 있습니다. 저도 이러한 지식을 아래 링크로 배운 것이기 때문에 제 글을 보기 전에 링크를 한번 가서 자세한 이야기를 한 번 읽어보시길 권합니다. 저의 문장의 목표는 좀 더 쉽게 이해할 수 있도록 저의 경험을 추가하는 것이기 때문입니다.http://blog.solutions-cubed.com/debugging-arduino-sketches-with-atmel-studio-7/http://naoki.at/how-to-debug-arduino-mega-on-board-with-atmel-ice-and-atmel-studio-7-via-jtag/http://www.riptutorial.com/arduino/topic/2567/using-arduino-with-atmel-studio-7처음에 가장 많이 사용되는 아도우이노 우노 보드를 Atmel-ICE에서 Debugging하는 법이다.아두이노보드를 보시면 아래와 같이 RESETON이라고 쓰여진 납땜패드가 보일겁니다. 자세히 보시면 양쪽 패드 사이가 연결되어 있습니다. 이 패스를 잘라주셔야 합니다. 얇은 커터칼로 패스를 잘라 주시면 제시간에 맞출 수 있습니다.


    >


    RESET ON 라인을 잘라주신 후에는 간단할 것이다. Atmel-ICE Full Package를 구입한 경우에는 아래와 같이 6 핀 ICSP포트에 맞는 케이블이 지에콤뎁니다. 아래 방향과 같이 연결해 주시면 나가겠습니다.


    >


    Atmel Studio에서 간단하게 Blink 예제를 하과인 만들어보겠습니다. 수행하는 기능은 아도우이노 우노에 기본적으로 달리고 있는 PB5포트 LED를 점멸시키는 기능입니다.


    >


    프로젝트 속성 메뉴로 이동하여 Tool 항목에서 [Select debugger/programmer] 항목을 Atmel-ICE 장비로 김태 해주고 Interface는 debug WIRE를 선택해 줍니다.프로젝트를 빌드한 후 상단메뉴에서 빨간 상자 안에 있는 Start Debuging 버튼을 누릅니다.


    >


    아마 아래와 같은 경고 박스가 보일 것입니다.  DWEN 휴즈비트를 Enable 하느냐는 질문인데 YES를 Click하면 전원을 켜달라는 메시지가 너무 심합니다.


    >


    아두이노 전원을 켜고 켜서 OK 버튼을 누릅니다.


    >


    debugWIRE가 동작하면서 Debugger가 실행되는 것을 확인할 수 있습니다.


    >


    추가적인 Tip은 기본적으로 Atmel Studio의 설정은 Compile시에 Optimization을 실행하도록 되어 있습니다. Debugging을 할 때 Line에서 동작하지 않는 것은 이 Optimization 때문입니다. 아래와 같이 Project Properties 메뉴에서 [Toolchain]-[Optimization]-[Optimization Level] 항목을 None으로 설정하면 Debuging은 어렵지 않습니다.


    >


    그럼 바로 아두이노의 원상복구를 해보겠습니다. 1번째로 Debugging상태에서 Debug메뉴를 보면,[Disable debug WIRE and Close]메뉴를 Click 하세요.


    >


    그 이후에는 아두이노 부트로더를 복구해야 합니다.1)Device Programming메뉴를 선택하고 ISP Interface의 Apply버튼을 누르세요. 2)Memories메뉴로 이동하고 Flash항목 결과 도우이노 우노용브ー토로ー다ー을 찾고 Program의 버튼을 찍어 줍니다. (아도우이노 IDE가 설치되어 있는 경우입니다.)3)Fuses항목으로 이동하고 아래와 같이 Default한지 확인합니다.


    >


    >


    자, 아까 전에 마지막으로 기위 잘라낸 RESETON 패스를 납땜을 사용하여 복구해 줍니다. 전원을 재인가하고 Arduino IDE의 Blink 예제가 정상적으로 업로드되는지 보도록 하겠습니다. 정상적으로 업로드가 완료되면 부트로더가 정상적으로 복구되었음을 확인할 수 있습니다.


    >



    댓글

Designed by Tistory.