디버깅 와이어

debugWIRE

debugWIRE는 Atmel에 의해 설계된 시리얼 통신 프로토콜입니다.AVR 마이크로 컨트롤러의 온칩 디버깅에 사용됩니다.

프로토콜

debugWIRE는 리소스가 제한된 Micro Controller(MCU; 마이크로컨트롤러)를 대상으로 하는 JTAG의 단순한 대체 수단으로서 설계되어 있습니다.이는 기존의 ATtinyATmega328과 같은 일부 소형 ATmega MCU에서 지원됩니다.디버깅 사용WIRE 1은 모든 메모리에 대한 완전한 읽기 및 쓰기 액세스와 실행 흐름에 대한 완전한 제어 권한을 가집니다.싱글 스텝, Run-to-Cursor, 스텝아웃 및 소프트웨어 중단 명령을 지원합니다.브레이크 포인트(run-to-cursor)는[1] BREAK opcode를 MCU의 플래시 메모리에 재프로그래밍하여 설정합니다.디바이스의 보증 [2]쓰기 사이클(100)의 수가 제한되어 있으므로 주의해야 합니다.

프로그래머 모델

debugWIRE는 마이크로칩의 모든 최신 하드웨어 디버거에서 지원됩니다.여기에는 Atmel-ICE,[3] JTAGICE3, AVR Dragon, JTAGICE mkII 및 [4]SNAP이 포함됩니다.저렴한 디버깅을 구축할 수도 있습니다.오픈 소스 Arduino [6]스케치를 기반으로 한 WIRE 하드웨어[5] 디버거입니다.

debugWIRE 사양

debugWIRE는 퓨즈 DWEN(디버깅)을 설정(제로 프로그래밍)하여 활성화됩니다.WIRE 활성화)는 일반적으로 고 퓨즈 바이트에 위치합니다.이 작업 후에는 /RESET 핀 기능을 사용할 수 없게 되어 ISP 프로토콜을 디버깅할 수 없게 됩니다.WIRE는 디버깅을 일시적으로 디세블로 하는 특수한 리셋명령어를 송신함으로써 전술한 디버깅으로 디세블로 할 수 있습니다.WIRE가 기능하여 /RESET 및 ISP를 다음 전원 끄기 사이클까지 다시 활성화합니다.디버깅WIRE에서 장치의 퓨즈를 프로그래밍할 수 없습니다.디버깅을 디세블로 하는 경우WIRE는 일시적으로 기능을 비활성화하고 현재 사용 가능한 ISP [7]기능을 사용하여 퓨즈를 프로그래밍해야 합니다.WIRE는 1와이어 오픈 드레인 시리얼 접속을 사용합니다.사용되는 기본 보레이트는 MCU clock/128 입니다.BREAK 를 송신하면, 보 레이트의 검출에 사용되는 0x55 가 반환됩니다.디버깅에서 브레이크 포인트가 히트하거나 충돌이 검출되면 MCU는 BREAK를 반환합니다.WIRE 접속0x06은 디버깅을 디세블로 하기 위해 사용됩니다./RESET 및 ISP를 배선하여 다시 활성화하고 0x07은 MCU를 리셋하고 0xF0은 PC를 반환하고 0xF3은 디버깅을 실행합니다.와이어 [8][9][10]아이디

레퍼런스

  1. ^ AVR 명령 집합 설명서
  2. ^ ATTiny25-ATTiny45-ATTiny85_Datasheet-Summary.pdf
  3. ^ 아트멜-ICE
  4. ^ MPLAB SNAP 인서킷 디버거
  5. ^ 10유로 미만의 debugWIRE 하드웨어 디버거
  6. ^ dw-link---Arduino 기반의 디버깅와이어 디버거
  7. ^ debugWIRE 기사(독일어)
  8. ^ 디버깅와이어 프로토콜
  9. ^ 간단한 스탠드아론 디버깅WIRE 디버거(오픈 소스)
  10. ^ Microchip Makes (25 November 2015). "Advanced Debugging with Arduino Boards" – via YouTube.