ICE 디버거 프로그래머
사용자 가이드 프로그래머 및 디버거
아트멜-ICE
사용자 가이드
Atmel-ICE 디버거
Atmel-ICE는 ARM® Cortex®-M 기반 Atmel®SAM 및 Atmel AVR 마이크로컨트롤러(® 온칩 디버그 기능 포함)의 디버깅 및 프로그래밍을 위한 강력한 개발 도구입니다.
다음을 지원합니다:
- 두 J 모두에서 모든 Atmel AVR 32비트 마이크로컨트롤러의 프로그래밍 및 온칩 디버깅TAG 및 aWire 인터페이스
- 두 J 모두에서 모든 Atmel AVR XMEGA® 제품군 장치의 프로그래밍 및 온칩 디버깅TAG 및 PDI 2선 인터페이스
- 프로그래밍(JTAG, SPI, UPDI) 및 J에서 OCD를 지원하는 모든 Atmel AVR 8비트 마이크로컨트롤러의 디버깅TAG, debugWIRE 또는 UPDI 인터페이스
- SWD 및 J에서 모든 Atmel SAM ARM Cortex-M 기반 마이크로컨트롤러의 프로그래밍 및 디버깅TAG 인터페이스
- 이 인터페이스를 지원하는 모든 Atmel tinyAVR® 8비트 마이크로컨트롤러의 프로그래밍(TPI)
이 펌웨어 릴리스에서 지원하는 장치 및 인터페이스의 전체 목록은 Atmel Studio 사용 설명서의 지원되는 장치 목록을 참조하십시오.
소개
1.1. Atmel-ICE 소개
Atmel-ICE는 온칩 디버그 기능이 있는 ARM Cortex-M 기반 Atmel SAM 및 Atmel AVR 마이크로컨트롤러를 디버깅하고 프로그래밍하기 위한 강력한 개발 도구입니다.
다음을 지원합니다:
- 양쪽 J에서 모든 Atmel AVR UC3 마이크로컨트롤러의 프로그래밍 및 온칩 디버깅TAG 및 aWire 인터페이스
- 두 J 모두에서 모든 AVR XMEGA 제품군 장치의 프로그래밍 및 온칩 디버깅TAG 및 PDI 2선 인터페이스
- 프로그래밍(JTAG 및 SPI) 및 두 J 모두에서 OCD를 지원하는 모든 AVR 8비트 마이크로컨트롤러의 디버깅TAG 또는 debugWIRE 인터페이스
- SWD 및 J에서 모든 Atmel SAM ARM Cortex-M 기반 마이크로컨트롤러의 프로그래밍 및 디버깅TAG 인터페이스
- 이 인터페이스를 지원하는 모든 Atmel tinyAVR 8비트 마이크로컨트롤러의 프로그래밍(TPI)
1.2. Atmel-ICE 기능
- Atmel Studio와 완벽하게 호환
- 모든 Atmel AVR UC3 32비트 마이크로컨트롤러의 프로그래밍 및 디버깅 지원
- 모든 8비트 AVR XMEGA 장치의 프로그래밍 및 디버깅 지원
- OCD가 있는 모든 8비트 Atmel megaAVR® 및 tinyAVR 장치의 프로그래밍 및 디버깅 지원
- 모든 SAM ARM Cortex-M 기반 마이크로컨트롤러의 프로그래밍 및 디버깅 지원
- 목표 운영 볼륨tage 범위: 1.62~5.5V
- debugWIRE 인터페이스를 사용할 때 대상 VTref에서 3mA 미만, 다른 모든 인터페이스에 대해 1mA 미만을 인출합니다.
- J 지원TAG 32kHz ~ 7.5MHz의 클록 주파수
- 32kHz~7.5MHz의 PDI 클록 주파수 지원
- 4kbit/s ~ 0.5Mbit/s의 debugWIRE 전송 속도 지원
- 7.5kbit/s ~ 7Mbit/s의 aWire 전송 속도 지원
- 8kHz~5MHz의 SPI 클록 주파수 지원
- 최대 750kbit/s의 UPDI 전송 속도 지원
- 32kHz~10MHz의 SWD 클록 주파수 지원
- USB 2.0 고속 호스트 인터페이스
- 최대 3MB/s에서 ITM 직렬 트레이스 캡처
- 디버깅 또는 프로그래밍하지 않을 때 DGI SPI 및 USART 인터페이스 지원
- 10핀 50mil J 지원TAG AVR 및 Cortex 핀아웃이 모두 있는 커넥터. 표준 프로브 케이블은 AVR 6핀 ISP/PDI/TPI 100mil 헤더와 10핀 50mil 헤더를 지원합니다. 6핀 50mil, 10핀 100mil 및 20핀 100mil 헤더를 지원하는 어댑터를 사용할 수 있습니다. 다양한 케이블 및 어댑터와 함께 여러 가지 키트 옵션을 사용할 수 있습니다.
1.3. 시스템 요구 사항
Atmel-ICE 장치를 사용하려면 프런트 엔드 디버깅 환경 Atmel Studio 버전 6.2 이상이 컴퓨터에 설치되어 있어야 합니다.
Atmel-ICE는 제공된 USB 케이블 또는 인증된 Micro-USB 케이블을 사용하여 호스트 컴퓨터에 연결해야 합니다.
Atmel-ICE 시작하기
2.1. 전체 키트 내용물
Atmel-ICE 전체 키트에는 다음 항목이 포함되어 있습니다.
- Atmel-ICE 장치
- USB 케이블(1.8m, 고속, Micro-B)
- 50mil AVR, 100mil AVR/SAM 및 100mil 20핀 SAM 어댑터가 포함된 어댑터 보드
- 10핀 50mil 커넥터 및 6핀 100mil 커넥터가 있는 IDC 평면 케이블
- 50 x 10mil 소켓이 있는 10mil 100핀 미니 스퀴드 케이블
그림 2-1. Atmel-ICE 전체 키트 내용물2.2. 기본 키트 내용물
Atmel-ICE 기본 키트에는 다음 항목이 포함되어 있습니다.
- Atmel-ICE 장치
- USB 케이블(1.8m, 고속, Micro-B)
- 10핀 50mil 커넥터 및 6핀 100mil 커넥터가 있는 IDC 평면 케이블
그림 2-2. Atmel-ICE 기본 키트 내용물2.3. PCBA 키트 내용물
Atmel-ICE PCBA 키트에는 다음 항목이 포함되어 있습니다.
- 플라스틱 캡슐이 없는 Atmel-ICE 장치
그림 2-3. Atmel-ICE PCBA 키트 내용물2.4. 예비 부품 키트
다음 예비 부품 키트를 사용할 수 있습니다.
- 어댑터 키트
- 케이블 키트
그림 2-4. Atmel-ICE 어댑터 키트 내용물2.5. 키트 오버view
Atmel-ICE 키트 옵션은 다음과 같이 다이어그램으로 표시됩니다.
그림 2-6. Atmel-ICE 키트 오버view2.6. Atmel-ICE 조립
Atmel-ICE 장치는 케이블이 연결되지 않은 상태로 배송됩니다. 전체 키트에는 두 가지 케이블 옵션이 제공됩니다.
- 50핀 ISP 및 10핀 커넥터가 있는 6mil 10핀 IDC 플랫 케이블
- 50개의 10mil 소켓이 있는 10mil 100핀 미니 오징어 케이블
그림 2-7. Atmel-ICE 케이블대부분의 경우 50mil 10핀 IDC 평면 케이블을 사용하여 기본적으로 10핀 또는 6핀 커넥터에 연결하거나 어댑터 보드를 통해 연결할 수 있습니다. 하나의 소형 PCBA에 XNUMX개의 어댑터가 제공됩니다. 다음 어댑터가 포함되어 있습니다.
- 100밀 10핀 JTAG/SWD 어댑터
- 100mil 20핀 SAM JTAG/SWD 어댑터
- 50mil 6핀 SPI/debugWIRE/PDI/aWire 어댑터
그림 2-8. Atmel-ICE 어댑터메모:
50mil JTAG 어댑터가 제공되지 않았습니다. 이는 50mil 10핀 IDC 케이블을 사용하여 50mil J에 직접 연결할 수 있기 때문입니다.TAG 머리글. 50mil 10핀 커넥터에 사용되는 구성 요소의 부품 번호는 Atmel-ICE 대상 커넥터 부품 번호를 참조하십시오.
6핀 ISP/PDI 헤더는 10핀 IDC 케이블의 일부로 포함되어 있습니다. 이 종료는 필요하지 않은 경우 차단할 수 있습니다.
Atmel-ICE를 기본 구성으로 조립하려면 아래와 같이 10핀 50mil IDC 케이블을 장치에 연결합니다. 케이블의 빨간색 와이어(핀 1)가 엔클로저의 파란색 벨트에 있는 삼각형 표시기와 정렬되도록 케이블 방향을 지정해야 합니다. 케이블은 장치에서 위쪽으로 연결해야 합니다. 대상의 핀아웃에 해당하는 포트(AVR 또는 SAM)에 연결해야 합니다.
그림 2-9. Atmel-ICE 케이블 연결그림 2-10. Atmel-ICE AVR 프로브 연결
그림 2-11. Atmel-ICE SAM 프로브 연결
2.7. Atmel-ICE 열기
메모:
정상적인 작동을 위해 Atmel-ICE 장치를 열면 안 됩니다. 장치를 여는 것은 사용자의 책임입니다.
정전기 예방 조치를 취해야 합니다.
Atmel-ICE 인클로저는 XNUMX개의 개별 플라스틱 구성 요소(상단 덮개, 하단 덮개 및 파란색 벨트)로 구성되며 조립 중에 함께 스냅됩니다. 장치를 열려면 큰 일자 드라이버를 파란색 벨트의 구멍에 삽입하고 약간의 내부 압력을 가한 다음 부드럽게 비틀기만 하면 됩니다. 다른 도미 구멍에 이 과정을 반복하면 상단 덮개가 튀어 나옵니다.
그림 2-12. Atmel-ICE 열기 (1)
그림 2-13. Atmel-ICE 열기 (2)
그림 2-14. Atmel-ICE 열기(3)
장치를 다시 닫으려면 상단 및 하단 덮개를 올바르게 정렬하고 함께 단단히 누르십시오.
2.8. Atmel-ICE 전원 공급
Atmel-ICE는 USB 버스 볼륨에 의해 전원이 공급됩니다.tag이자형. 작동하는 데 100mA 미만이 필요하므로 USB 허브를 통해 전원을 공급받을 수 있습니다. 장치가 연결되면 전원 LED가 켜집니다. 활성 프로그래밍 또는 디버깅 세션에 연결되지 않은 경우 장치는 컴퓨터 배터리를 보존하기 위해 저전력 소비 모드로 들어갑니다. Atmel-ICE는 전원을 끌 수 없으며 사용하지 않을 때는 플러그를 뽑아야 합니다.
2.9. 호스트 컴퓨터에 연결
Atmel-ICE는 주로 표준 HID 인터페이스를 사용하여 통신하며 호스트 컴퓨터에 특별한 드라이버가 필요하지 않습니다. Atmel-ICE의 고급 데이터 게이트웨이 기능을 사용하려면 호스트 컴퓨터에 USB 드라이버를 설치해야 합니다. 이는 Atmel에서 무료로 제공하는 프런트 엔드 소프트웨어를 설치할 때 자동으로 수행됩니다. 보다 www.아트멜닷컴 자세한 내용을 보거나 최신 프런트엔드 소프트웨어를 다운로드하십시오.
Atmel-ICE는 제공된 USB 케이블 또는 적합한 USB 인증 마이크로 케이블을 사용하여 호스트 컴퓨터의 사용 가능한 USB 포트에 연결해야 합니다. Atmel-ICE에는 USB 2.0 호환 컨트롤러가 포함되어 있으며 최대 속도 및 고속 모드에서 모두 작동할 수 있습니다. 최상의 결과를 얻으려면 제공된 케이블을 사용하여 Atmel-ICE를 호스트 컴퓨터의 USB 2.0 호환 고속 허브에 직접 연결하십시오.
2.10. USB 드라이버 설치
2.10.1. 윈도우
Microsoft® Windows®를 실행하는 컴퓨터에 Atmel-ICE를 설치할 때 Atmel-ICE를 처음 연결하면 USB 드라이버가 로드됩니다.
메모:
장치를 처음 연결하기 전에 프런트엔드 소프트웨어 패키지를 설치해야 합니다.
성공적으로 설치되면 Atmel-ICE는 장치 관리자에 "휴먼 인터페이스 장치"로 나타납니다.
Atmel-ICE 연결
3.1. AVR 및 SAM 대상 장치에 연결
Atmel-ICE에는 50개의 10mil XNUMX핀 J가 장착되어 있습니다.TAG 커넥터. 두 커넥터 모두 전기적으로 직접 연결되지만 두 개의 서로 다른 핀 배치를 따릅니다. AVR JTAG 헤더 및 ARM Cortex 디버그 헤더. 커넥터는 대상 MCU 유형이 아닌 대상 보드의 핀아웃을 기준으로 선택해야 합니다.ampAVR STK® 600 스택에 장착된 SAM 장치는 AVR 헤더를 사용해야 합니다.
다양한 Atmel-ICE 키트에서 다양한 케이블 연결 및 어댑터를 사용할 수 있습니다. 오버view 연결 옵션이 표시됩니다.
그림 3-1. Atmel-ICE 연결 옵션빨간색 와이어는 1핀 10mil 커넥터의 핀 50을 표시합니다. 1핀 6mil 커넥터의 핀 100은 케이블에서 커넥터를 볼 때 키 오른쪽에 배치됩니다. 어댑터에 있는 각 커넥터의 핀 1은 흰색 점으로 표시되어 있습니다. 아래 그림은 디버그 케이블의 핀아웃을 보여줍니다. A로 표시된 커넥터는 디버거에 연결되고 B면은 대상 보드에 연결됩니다.
그림 3-2. 디버그 케이블 핀아웃
3.2. J에 연결TAG 목표
Atmel-ICE에는 50개의 10mil XNUMX핀 J가 장착되어 있습니다.TAG 커넥터. 두 커넥터 모두 전기적으로 직접 연결되지만 두 개의 서로 다른 핀 배치를 따릅니다. AVR JTAG 헤더 및 ARM Cortex 디버그 헤더. 커넥터는 대상 MCU 유형이 아닌 대상 보드의 핀아웃을 기준으로 선택해야 합니다.ampAVR STK600 스택에 장착된 SAM 장치는 AVR 헤더를 사용해야 합니다.
10핀 AVR J의 권장 핀아웃TAG 커넥터는 그림 4-6에 나와 있습니다. 10핀 ARM Cortex 디버그 커넥터에 대한 권장 핀아웃은 그림 4-2에 나와 있습니다.
표준 10핀 50mil 헤더에 직접 연결
50mil 10핀 평면 케이블(일부 키트에 포함됨)을 사용하여 이 헤더 유형을 지원하는 보드에 직접 연결하십시오. AVR 핀아웃이 있는 헤더에는 Atmel-ICE의 AVR 커넥터 포트를 사용하고 ARM Cortex 디버그 헤더 핀아웃을 준수하는 헤더에는 SAM 커넥터 포트를 사용하십시오.
두 10핀 커넥터 포트의 핀아웃은 아래와 같습니다.
표준 10핀 100mil 헤더에 연결
표준 50-mil ~ 100-mil 어댑터를 사용하여 100-mil 헤더에 연결하십시오. 어댑터 보드(일부 키트에 포함)를 이 용도로 사용하거나 JTAGICE3 어댑터는 AVR 대상에 사용할 수 있습니다.
중요한:
JTAGICE3 100mil 어댑터는 어댑터의 핀 2와 10(AVR GND)이 연결되어 있으므로 SAM 커넥터 포트와 함께 사용할 수 없습니다.
맞춤형 100mil 헤더에 연결
대상 보드에 호환되는 10핀 J가 없는 경우TAG 50mil 또는 100mil 헤더에 있는 경우 10핀 "mini-squid" 케이블(일부 키트에 포함)을 사용하여 맞춤형 핀아웃에 매핑할 수 있으며, 이를 통해 100개의 개별 XNUMXmil 소켓에 액세스할 수 있습니다.
20핀 100mil 헤드에 연결r
어댑터 보드(일부 키트에 포함됨)를 사용하여 20핀 100mil 헤더가 있는 대상에 연결합니다.
표 3-1. Atmel-ICE JTAG 핀 설명
이름 | 에이비알(AVR) 포트 핀 | 샘 포트 핀 | 설명 |
티씨씨 | 1 | 4 | 테스트 클록(Atmel-ICE에서 대상 장치로의 클록 신호). |
티엠에스 | 5 | 2 | 테스트 모드 선택(Atmel-ICE에서 대상 장치로의 제어 신호). |
티디디 | 9 | 8 | 테스트 데이터 입력(Atmel-ICE에서 대상 장치로 전송된 데이터). |
TDO | 3 | 6 | Test Data Out(대상 장치에서 Atmel-ICE로 전송된 데이터). |
nTRST | 8 | – | 테스트 재설정(선택 사항, 일부 AVR 장치에만 해당). J를 재설정하는 데 사용TAG 탭 컨트롤러. |
nSRST | 6 | 10 | 재설정(선택 사항). 대상 장치를 재설정하는 데 사용됩니다. 이 핀을 연결하면 Atmel-ICE가 대상 장치를 재설정 상태로 유지할 수 있으므로 특정 시나리오에서 디버깅에 필수적일 수 있으므로 이 핀을 연결하는 것이 좋습니다. |
빈티지 | 4 | 1 | 목표 볼륨tag전자 참조. Atmel-ICEamp레 대상 볼륨tage 레벨 변환기에 올바르게 전원을 공급하기 위해 이 핀에 연결합니다. Atmel-ICE는 debugWIRE 모드에서 이 핀에서 3mA 미만, 다른 모드에서는 1mA 미만을 인출합니다. |
접지 | 2, 10 | 3, 5, 9 | 지면. Atmel-ICE와 대상 장치가 동일한 접지 기준을 공유하도록 모두 연결해야 합니다. |
3.3. aWire 대상에 연결
aWire 인터페이스는 VCC 및 GND 외에 하나의 데이터 라인만 필요합니다. 대상에서 이 라인은 nRESET 라인이지만 디버거는 JTAG 데이터 라인으로 TDO 라인.
6핀 aWire 커넥터에 대한 권장 핀 배열은 그림 4-8에 나와 있습니다.
6핀 100mil aWire 헤더에 연결
플랫 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil aWire 헤더에 연결합니다.
6핀 50mil aWire 헤더에 연결
어댑터 보드(일부 키트에 포함)를 사용하여 표준 50mil aWire 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 세 개의 연결이 필요합니다.
표 3-2. Atmel-ICE aWire 핀 매핑
Atmel-ICE AVR 포트 핀 |
대상 핀 | 미니 오징어 핀 |
와이어 핀아웃 |
핀 1(TCK) | 1 | ||
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | 데이터 | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | 6 | ||
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 9 | ||
핀 10(GND) | 0 |
3.4. PDI 대상에 연결
6핀 PDI 커넥터의 권장 핀 배열은 그림 4-11에 나와 있습니다.
6핀 100mil PDI 헤더에 연결
평면 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil PDI 헤더에 연결합니다.
6핀 50mil PDI 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 표준 50mil PDI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 XNUMX개의 연결이 필요합니다.
중요한:
필요한 핀아웃은 J와 다릅니다.TAG아이스 mkII JTAG 여기서 PDI_DATA는 핀 9에 연결됩니다. Atmel-ICE는 Atmel-ICE, J에서 사용하는 핀아웃과 호환됩니다.TAGICE3, AVR ONE! 및 AVR Dragon™ 제품.
표 3-3. Atmel-ICE PDI 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 | 미니 오징어 핀 |
와이어 핀아웃 |
핀 1(TCK) | 1 | ||
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | 데이터 | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | 6 | ||
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 9 | ||
핀 10(GND) | 0 |
3.4 PDI 대상에 연결
6핀 PDI 커넥터의 권장 핀 배열은 그림 4-11에 나와 있습니다.
6핀 100mil PDI 헤더에 연결
평면 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil PDI 헤더에 연결합니다.
6핀 50mil PDI 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 표준 50mil PDI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 XNUMX개의 연결이 필요합니다.
중요한:
필요한 핀아웃은 J와 다릅니다.TAG아이스 mkII JTAG 여기서 PDI_DATA는 핀 9에 연결됩니다. Atmel-ICE는 Atmel-ICE, J에서 사용하는 핀아웃과 호환됩니다.TAGICE3, AVR ONE! 및 AVR 드래곤™ 제품.
표 3-3. Atmel-ICE PDI 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 | 미니 오징어 핀 | Atmel STK600 PDI 핀아웃 |
핀 1(TCK) | 1 | ||
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | PDI_DATA | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | PDI_CLK | 6 | 5 |
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 9 | ||
핀 10(GND) | 0 |
3.5 UPDI 대상에 연결
6핀 UPDI 커넥터에 권장되는 핀 배열은 그림 4-12에 나와 있습니다.
6핀 100mil UPDI 헤더에 연결
플랫 케이블(일부 키트에 포함됨)의 6핀 100mil 탭을 사용하여 표준 100mil UPDI 헤더에 연결합니다.
6핀 50mil UPDI 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 표준 50mil UPDI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 세 개의 연결이 필요합니다.
표 3-4. Atmel-ICE UPDI 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 | 미니 오징어 핀 |
Atmel STK600 UPDI 핀아웃 |
핀 1(TCK) | 1 | ||
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | UPDI_DATA | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | [/RESET 센스] | 6 | 5 |
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 9 | ||
핀 10(GND) | 0 |
3.6 debugWIRE 대상에 연결
6핀 debugWIRE(SPI) 커넥터에 대한 권장 핀아웃은 표 3-6에 나와 있습니다.
6핀 100mil SPI 헤더에 연결
플랫 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil SPI 헤더에 연결합니다.
6핀 50mil SPI 헤더에 연결
어댑터 보드(일부 키트에 포함)를 사용하여 표준 50mil SPI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 표 3-5에 설명된 대로 세 개의 연결이 필요합니다.
debugWIRE 인터페이스에는 하나의 신호 라인(RESET)만 필요하지만 VCC 및 GND가 올바르게 작동하려면 SPI 프로그래밍을 사용하여 debugWIRE 인터페이스를 활성화 및 비활성화할 수 있도록 전체 SPI 커넥터에 액세스하는 것이 좋습니다.
DWEN 퓨즈가 활성화되면 OCD 모듈이 RESET 핀을 제어할 수 있도록 SPI 인터페이스가 내부적으로 재정의됩니다. debugWIRE OCD는 (Atmel Studio의 속성 대화 상자에 있는 디버깅 탭의 버튼을 사용하여) 일시적으로 스스로를 비활성화하여 RESET 라인의 제어를 해제할 수 있습니다. 그런 다음 SPI 인터페이스를 다시 사용할 수 있으므로(SPIEN 퓨즈가 프로그래밍된 경우에만) SPI 인터페이스를 사용하여 DWEN 퓨즈를 프로그래밍 해제할 수 있습니다. DWEN 퓨즈가 프로그래밍되지 않기 전에 전원이 토글되면 debugWIRE 모듈이 다시 RESET 핀을 제어합니다.
메모:
Atmel Studio에서 DWEN 퓨즈의 설정 및 삭제를 처리하도록 하는 것이 좋습니다.
대상 AVR 장치의 잠금 비트가 프로그래밍된 경우 debugWIRE 인터페이스를 사용할 수 없습니다. DWEN 퓨즈를 프로그래밍하기 전에 항상 잠금 비트가 지워졌는지 확인하고 DWEN 퓨즈가 프로그래밍되는 동안 잠금 비트를 설정하지 마십시오. debugWIRE 활성화 퓨즈(DWEN)와 잠금 비트가 모두 설정된 경우 High Vol을 사용할 수 있습니다.tage 칩 삭제를 프로그래밍하여 잠금 비트를 지웁니다.
잠금 비트가 해제되면 debugWIRE 인터페이스가 다시 활성화됩니다. SPI 인터페이스는 DWEN 퓨즈가 프로그래밍되지 않은 경우에만 퓨즈 읽기, 서명 읽기 및 칩 삭제 수행이 가능합니다.
표 3-5. Atmel-ICE debugWIRE 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 |
미니 오징어 핀 |
핀 1(TCK) | 1 | |
핀 2(GND) | 접지 | 2 |
핀 3(TDO) | 3 | |
핀 4(VTG) | 빈티지 | 4 |
핀 5(TMS) | 5 | |
핀 6(nSRST) | 다시 놓기 | 6 |
핀 7(연결되지 않음) | 7 | |
핀 8(nTRST) | 8 | |
핀 9(TDI) | 9 | |
핀 10(GND) | 0 |
3.7 SPI 대상에 연결
6핀 SPI 커넥터에 권장되는 핀 배열은 그림 4-10에 나와 있습니다.
6핀 100mil SPI 헤더에 연결
플랫 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil SPI 헤더에 연결합니다.
6핀 50mil SPI 헤더에 연결
어댑터 보드(일부 키트에 포함)를 사용하여 표준 50mil SPI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 XNUMX개의 연결이 필요합니다.
중요한:
debugWIRE 활성화 퓨즈(DWEN)가 프로그래밍되면 SPIEN 퓨즈도 프로그래밍된 경우에도 SPI 인터페이스가 효과적으로 비활성화됩니다. SPI 인터페이스를 다시 활성화하려면 debugWIRE 디버깅 세션에 있는 동안 'disable debugWIRE' 명령을 실행해야 합니다. 이러한 방식으로 debugWIRE를 비활성화하려면 SPIEN 퓨즈가 이미 프로그래밍되어 있어야 합니다. Atmel Studio가 debugWIRE를 비활성화하지 못하는 경우 SPIEN 퓨즈가 프로그래밍되지 않았기 때문일 수 있습니다. 이 경우 고볼륨을 사용해야 합니다.tagSPIEN 퓨즈를 프로그래밍하기 위한 e 프로그래밍 인터페이스.
정보:
SPI 인터페이스는 Atmel AVR 제품의 첫 번째 In System Programming 인터페이스였기 때문에 "ISP"라고도 합니다. 이제 In System Programming에 다른 인터페이스를 사용할 수 있습니다.
표 3-6. Atmel-ICE SPI 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 | 미니 오징어 핀 |
SPI 핀아웃 |
핀 1(TCK) | SCK | 1 | 3 |
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | 미소 | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | /초기화 | 6 | 5 |
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 모시 | 9 | 4 |
핀 10(GND) | 0 |
3.8 TPI 대상에 연결
6핀 TPI 커넥터에 권장되는 핀 배열은 그림 4-13에 나와 있습니다.
6핀 100mil TPI 헤더에 연결
플랫 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil TPI 헤더에 연결합니다.
6핀 50mil TPI 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 표준 50mil TPI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 XNUMX개의 연결이 필요합니다.
표 3-7. Atmel-ICE TPI 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 | 미니 오징어 핀 |
TPI 핀아웃 |
핀 1(TCK) | 시계 | 1 | 3 |
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | 데이터 | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 |
핀 6(nSRST) | /초기화 | 6 | 5 |
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 9 | ||
핀 10(GND) | 0 |
3.9 SWD 대상에 연결
ARM SWD 인터페이스는 J의 하위 집합입니다.TAG 인터페이스, TCK 및 TMS 핀을 사용합니다. 즉, SWD 장치에 연결할 때 10핀 JTAG 기술적으로 커넥터를 사용할 수 있습니다. ARM JTAG 및 AVR JTAG 그러나 커넥터는 핀 호환이 아니므로 사용 중인 대상 보드의 레이아웃에 따라 다릅니다. STK600 또는 AVR J를 사용하는 보드를 사용하는 경우TAG 핀아웃, Atmel-ICE의 AVR 커넥터 포트를 사용해야 합니다. ARM J를 사용하는 보드에 연결할 때TAG 핀아웃, Atmel-ICE의 SAM 커넥터 포트를 사용해야 합니다.
10핀 Cortex 디버그 커넥터에 대한 권장 핀아웃은 그림 4-4에 나와 있습니다.
10핀 50mil Cortex 헤더에 연결
플랫 케이블(일부 키트에 포함)을 사용하여 표준 50mil Cortex 헤더에 연결합니다.
10핀 100mil Cortex 레이아웃 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 100mil Cortex 핀아웃 헤더에 연결합니다.
20핀 100mil SAM 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 20핀 100mil SAM 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 또는 SAM 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 XNUMX개의 연결이 필요합니다.
표 3-8. Atmel-ICE SWD 핀 매핑
이름 | 에이비알(AVR) 포트 핀 | 샘 포트 핀 | 설명 |
SWDC LK | 1 | 4 | 직렬 와이어 디버그 클록. |
SWDIO | 5 | 2 | 직렬 와이어 디버그 데이터 입력/출력. |
스워 | 3 | 6 | 직렬 와이어 출력(옵션 - 모든 장치에서 구현되지 않음). |
nSRST | 6 | 10 | 다시 놓기. |
빈티지 | 4 | 1 | 목표 볼륨tag전자 참조. |
접지 | 2, 10 | 3, 5, 9 | 지면. |
3.10 데이터 게이트웨이 인터페이스에 연결
Atmel-ICE는 디버깅 및 프로그래밍을 사용하지 않을 때 제한된 DGI(Data Gateway Interface)를 지원합니다. 기능은 Atmel EDBG 장치로 구동되는 Atmel Xplained Pro 키트의 기능과 동일합니다.
데이터 게이트웨이 인터페이스는 대상 장치에서 컴퓨터로 데이터를 스트리밍하기 위한 인터페이스입니다. 이는 대상 장치에서 실행되는 응용 프로그램의 기능을 시연할 뿐만 아니라 응용 프로그램 디버깅을 돕기 위한 것입니다.
DGI는 데이터 스트리밍을 위한 여러 채널로 구성됩니다. Atmel-ICE는 다음 모드를 지원합니다.
- USART
- 에스피에이
표 3-9. Atmel-ICE DGI USART 핀아웃
AVR 포트 |
SAM 포트 | DGI USART 핀 |
설명 |
3 | 6 | TX | Atmel-ICE에서 대상 장치로 핀 전송 |
4 | 1 | 빈티지 | 목표 볼륨tage (참조 권tage) |
8 | 7 | RX | 대상 장치에서 Atmel-ICE로 핀 수신 |
9 | 8 | 클락 | USART 시계 |
2, 10 | 3, 5, 9 | 접지 | 지면 |
표 3-10. Atmel-ICE DGI SPI 핀아웃
AVR 포트 |
SAM 포트 | DGI SPI 핀 |
설명 |
1 | 4 | SCK | SPI 시계 |
3 | 6 | 미소 | 슬레이브 아웃 마스터 |
4 | 1 | 빈티지 | 목표 볼륨tage (참조 권tage) |
5 | 2 | NCS | 칩 셀렉트 액티브 로우 |
9 | 8 | 모시 | 마스터 아웃 슬레이브 인 |
2, 10 | 3, 5, 9 | 접지 | 지면 |
중요한: SPI 및 USART 인터페이스는 동시에 사용할 수 없습니다.
중요한: DGI와 프로그래밍 또는 디버깅은 동시에 사용할 수 없습니다.
온칩 디버깅
4.1 서론
온칩 디버깅
온칩 디버그 모듈은 일반적으로 디버거 또는 디버그 어댑터로 알려진 장치를 통해 개발자가 외부 개발 플랫폼에서 장치의 실행을 모니터링하고 제어할 수 있는 시스템입니다.
OCD 시스템을 사용하면 대상 시스템에서 정확한 전기 및 타이밍 특성을 유지하면서 응용 프로그램을 실행할 수 있으며 조건부 또는 수동으로 실행을 중지하고 프로그램 흐름과 메모리를 검사할 수 있습니다.
실행 모드
실행 모드에서 코드 실행은 Atmel-ICE와 완전히 독립적입니다. Atmel-ICE는 중단 조건이 발생했는지 확인하기 위해 대상 장치를 지속적으로 모니터링합니다. 이런 일이 발생하면 OCD 시스템은 디버그 인터페이스를 통해 장치를 조사하여 사용자가 다음을 수행할 수 있도록 합니다. view 장치의 내부 상태.
정지 모드
중단점에 도달하면 프로그램 실행이 중지되지만 일부 I/O는 중단점이 발생하지 않은 것처럼 계속 실행될 수 있습니다. 예를 들어amp예를 들어 중단점에 도달했을 때 USART 전송이 막 시작되었다고 가정합니다. 이 경우 USART는 코어가 정지 모드에 있더라도 전송을 완료하는 전속력으로 계속 실행됩니다.
하드웨어 중단점
대상 OCD 모듈에는 하드웨어에 구현된 여러 프로그램 카운터 비교기가 포함되어 있습니다. 프로그램 카운터가 비교기 레지스터 중 하나에 저장된 값과 일치하면 OCD는 정지 모드로 들어갑니다. 하드웨어 중단점에는 OCD 모듈에 전용 하드웨어가 필요하므로 사용 가능한 중단점 수는 대상에 구현된 OCD 모듈의 크기에 따라 다릅니다. 일반적으로 이러한 하드웨어 비교기 중 하나는 디버거에서 내부 사용을 위해 '예약'됩니다.
소프트웨어 중단점
소프트웨어 중단점은 대상 장치의 프로그램 메모리에 있는 BREAK 명령입니다. 이 명령이 로드되면 프로그램 실행이 중단되고 OCD가 정지 모드로 들어갑니다. 실행을 계속하려면 OCD에서 "시작" 명령을 내려야 합니다. 모든 Atmel 장치에 BREAK 명령을 지원하는 OCD 모듈이 있는 것은 아닙니다.
4.2 J가 있는 SAM 장치TAG/SWD
모든 SAM 장치에는 프로그래밍 및 디버깅을 위한 SWD 인터페이스가 있습니다. 또한 일부 SAM 장치에는 JTAG 동일한 기능을 가진 인터페이스. 해당 장치의 지원되는 인터페이스는 장치 데이터시트를 확인하십시오.
4.2.1.ARM CoreSight 구성 요소
Atmel ARM Cortex-M 기반 마이크로컨트롤러는 CoreSight 호환 OCD 구성 요소를 구현합니다. 이러한 구성 요소의 기능은 장치마다 다를 수 있습니다. 자세한 내용은 장치의 데이터시트와 ARM에서 제공하는 CoreSight 설명서를 참조하십시오.
4.2.1.제TAG 물리적 인터페이스
JTAG 인터페이스는 IEEE를 준수하는 4선 테스트 액세스 포트(TAP) 컨트롤러로 구성됩니다.® 1149.1 표준. IEEE 표준은 회로 보드 연결을 효율적으로 테스트하기 위한 업계 표준 방법(Boundary Scan)을 제공하기 위해 개발되었습니다. Atmel AVR 및 SAM 장치는 전체 프로그래밍 및 온칩 디버깅 지원을 포함하도록 이 기능을 확장했습니다.
그림 4-1. 제이TAG 인터페이스 기본
4.2.2.1 SAMJTAG 핀아웃(Cortex-M 디버그 커넥터)
J와 함께 Atmel SAM을 포함하는 애플리케이션 PCB를 설계할 때TAG 인터페이스는 아래 그림과 같이 핀아웃을 사용하는 것이 좋습니다. 특정 키트에 포함된 케이블 및 어댑터에 따라 이 핀아웃의 100mil 및 50mil 변형이 모두 지원됩니다.
그림 4-2. 샘 제이TAG 헤더 핀아웃
표 4-1. 샘 제이TAG 핀 설명
이름 | 핀 |
설명 |
티씨씨 | 4 | 테스트 클록(Atmel-ICE에서 대상 장치로의 클록 신호). |
티엠에스 | 2 | 테스트 모드 선택(Atmel-ICE에서 대상 장치로의 제어 신호). |
티디디 | 8 | 테스트 데이터 입력(Atmel-ICE에서 대상 장치로 전송된 데이터). |
TDO | 6 | Test Data Out(대상 장치에서 Atmel-ICE로 전송된 데이터). |
n리셋 | 10 | 재설정(선택 사항). 대상 장치를 재설정하는 데 사용됩니다. 이 핀을 연결하면 Atmel-ICE가 대상 장치를 재설정 상태로 유지할 수 있으므로 특정 시나리오에서 디버깅에 필수적일 수 있으므로 이 핀을 연결하는 것이 좋습니다. |
빈티지 | 1 | 목표 볼륨tag전자 참조. Atmel-ICEamp레 대상 볼륨tage 레벨 변환기에 올바르게 전원을 공급하기 위해 이 핀에 연결합니다. Atmel-ICE는 이 모드에서 이 핀에서 1mA 미만을 끌어옵니다. |
접지 | 3, 5, 9 | 지면. Atmel-ICE와 대상 장치가 동일한 접지 기준을 공유하도록 모두 연결해야 합니다. |
열쇠 | 7 | AVR 커넥터의 TRST 핀에 내부적으로 연결됩니다. 연결되지 않은 것으로 권장됩니다. |
팁: 핀 1과 GND 사이에 디커플링 커패시터를 포함해야 합니다.
4.2.2.2년TAG 데이지 체이닝
JTAG 인터페이스를 사용하면 데이지 체인 구성에서 여러 장치를 단일 인터페이스에 연결할 수 있습니다. 대상 장치는 모두 동일한 공급량으로 전원을 공급받아야 합니다.tage, 공통 접지 노드를 공유하고 아래 그림과 같이 연결해야 합니다.
그림 4-3. 제이TAG 데이지 체인
데이지 체인으로 장치를 연결할 때 다음 사항을 고려해야 합니다.
- 모든 장치는 Atmel-ICE 프로브의 GND에 연결된 공통 접지를 공유해야 합니다.
- 모든 장치는 동일한 대상 볼륨에서 작동해야 합니다.tag이자형. Atmel-ICE의 VTG는 이 vol에 연결되어야 합니다.tage.
- TMS와 TCK는 병렬로 연결됩니다. TDI와 TDO는 직렬로 연결됩니다.
- Atmel-ICE 프로브의 nSRST는 체인의 장치 중 하나라도 해당 J를 비활성화하는 경우 장치의 RESET에 연결해야 합니다.TAG 포트
- "이전 장치"는 J의 수를 나타냅니다.TAG TDI 신호가 대상 장치에 도달하기 전에 데이지 체인에서 통과해야 하는 장치. 유사하게 "devices after"는 신호가 Atmel-ICE TDO에 도달하기 전에 대상 장치 이후에 통과해야 하는 장치의 수입니다.
- "이전" 및 "이후" 명령 비트는 모든 J의 총합을 나타냅니다.TAG 데이지 체인에서 대상 장치 전후에 연결된 장치의 명령어 레지스터 길이
- 총 IR 길이(이전 명령 비트 + Atmel 대상 장치 IR 길이 + 이후 명령 비트)는 최대 256비트로 제한됩니다. 체인의 장치 수는 이전 15개, 이후 15개로 제한됩니다.
팁:
데이지 체인 예amp예: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Atmel AVR XMEGA에 연결하려면® 데이지 체인 설정은 다음과 같습니다.
- 이전 장치: 1
- 이후 장치: 1
- 이전 명령어 비트: 4(8비트 AVR 장치에는 4개의 IR 비트가 있음)
- 이후 명령 비트: 5(32비트 AVR 장치에는 5개의 IR 비트가 있음)
표 4-2. Atmel MCU의 IR 길이
장치 유형 | IR 길이 |
AVR 8비트 | 4 비트 |
AVR 32비트 | 5 비트 |
샘 | 4 비트 |
4.2.3. J에 연결TAG 목표
Atmel-ICE에는 50개의 10mil XNUMX핀 J가 장착되어 있습니다.TAG 커넥터. 두 커넥터 모두 전기적으로 직접 연결되지만 두 개의 서로 다른 핀 배치를 따릅니다. AVR JTAG 헤더 및 ARM Cortex 디버그 헤더. 커넥터는 대상 MCU 유형이 아닌 대상 보드의 핀아웃을 기준으로 선택해야 합니다.ampAVR STK600 스택에 장착된 SAM 장치는 AVR 헤더를 사용해야 합니다.
10핀 AVR J의 권장 핀아웃TAG 커넥터는 그림 4-6에 나와 있습니다.
10핀 ARM Cortex 디버그 커넥터에 대한 권장 핀아웃은 그림 4-2에 나와 있습니다.
표준 10핀 50mil 헤더에 직접 연결
50mil 10핀 평면 케이블(일부 키트에 포함됨)을 사용하여 이 헤더 유형을 지원하는 보드에 직접 연결하십시오. AVR 핀아웃이 있는 헤더에는 Atmel-ICE의 AVR 커넥터 포트를 사용하고 ARM Cortex 디버그 헤더 핀아웃을 준수하는 헤더에는 SAM 커넥터 포트를 사용하십시오.
두 10핀 커넥터 포트의 핀아웃은 아래와 같습니다.
표준 10핀 100mil 헤더에 연결
표준 50-mil ~ 100-mil 어댑터를 사용하여 100-mil 헤더에 연결하십시오. 어댑터 보드(일부 키트에 포함)를 이 용도로 사용하거나 JTAGICE3 어댑터는 AVR 대상에 사용할 수 있습니다.
중요한:
JTAGICE3 100mil 어댑터는 어댑터의 핀 2와 10(AVR GND)이 연결되어 있으므로 SAM 커넥터 포트와 함께 사용할 수 없습니다.
맞춤형 100mil 헤더에 연결
대상 보드에 호환되는 10핀 J가 없는 경우TAG 50mil 또는 100mil 헤더에 있는 경우 10핀 "mini-squid" 케이블(일부 키트에 포함)을 사용하여 맞춤형 핀아웃에 매핑할 수 있으며, 이를 통해 100개의 개별 XNUMXmil 소켓에 액세스할 수 있습니다.
20핀 100mil 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 20핀 100mil 헤더가 있는 대상에 연결합니다.
표 4-3. Atmel-ICE JTAG 핀 설명
이름 | 에이비알(AVR) 포트 핀 | 샘 포트 핀 | 설명 |
티씨씨 | 1 | 4 | 테스트 클록(Atmel-ICE에서 대상 장치로의 클록 신호). |
티엠에스 | 5 | 2 | 테스트 모드 선택(Atmel-ICE에서 대상 장치로의 제어 신호). |
티디디 | 9 | 8 | 테스트 데이터 입력(Atmel-ICE에서 대상 장치로 전송된 데이터). |
TDO | 3 | 6 | Test Data Out(대상 장치에서 Atmel-ICE로 전송된 데이터). |
nTRST | 8 | – | 테스트 재설정(선택 사항, 일부 AVR 장치에만 해당). J를 재설정하는 데 사용TAG 탭 컨트롤러. |
nSRST | 6 | 10 | 재설정(선택 사항). 대상 장치를 재설정하는 데 사용됩니다. 이 핀을 연결하면 Atmel-ICE가 대상 장치를 재설정 상태로 유지할 수 있으므로 특정 시나리오에서 디버깅에 필수적일 수 있으므로 이 핀을 연결하는 것이 좋습니다. |
빈티지 | 4 | 1 | 목표 볼륨tag전자 참조. Atmel-ICEamp레 대상 볼륨tage 레벨 변환기에 올바르게 전원을 공급하기 위해 이 핀에 연결합니다. Atmel-ICE는 debugWIRE 모드에서 이 핀에서 3mA 미만, 다른 모드에서는 1mA 미만을 인출합니다. |
접지 | 2, 10 | 3, 5, 9 | 지면. Atmel-ICE와 대상 장치가 동일한 접지 기준을 공유하도록 모두 연결해야 합니다. |
4.2.4. SWD 물리적 인터페이스
ARM SWD 인터페이스는 J의 하위 집합입니다.TAG 인터페이스, TCK 및 TMS 핀을 사용합니다. ARM JTAG 및 AVR JTAG 그러나 커넥터는 핀 호환이 불가능하므로 SWD 또는 J와 함께 SAM 장치를 사용하는 애플리케이션 PCB를 설계할 때TAG 인터페이스는 아래 그림에 표시된 ARM 핀아웃을 사용하는 것이 좋습니다. Atmel-ICE의 SAM 커넥터 포트는 이 핀아웃에 직접 연결할 수 있습니다.
그림 4-4. 권장 ARM SWD/JTAG 헤더 핀아웃
Atmel-ICE는 UART 형식 ITM 추적을 호스트 컴퓨터로 스트리밍할 수 있습니다. 트레이스는 10핀 헤더의 TRACE/SWO 핀에서 캡처됩니다(JTAG TDO 핀). 데이터는 Atmel-ICE에서 내부적으로 버퍼링되며 HID 인터페이스를 통해 호스트 컴퓨터로 전송됩니다. 신뢰할 수 있는 최대 데이터 속도는 약 3MB/s입니다.
4.2.5. SWD 대상에 연결
ARM SWD 인터페이스는 J의 하위 집합입니다.TAG 인터페이스, TCK 및 TMS 핀을 사용합니다. 즉, SWD 장치에 연결할 때 10핀 JTAG 기술적으로 커넥터를 사용할 수 있습니다. ARM JTAG 및 AVR JTAG 그러나 커넥터는 핀 호환이 아니므로 사용 중인 대상 보드의 레이아웃에 따라 다릅니다. STK600 또는 AVR J를 사용하는 보드를 사용하는 경우TAG 핀아웃, Atmel-ICE의 AVR 커넥터 포트를 사용해야 합니다. ARM J를 사용하는 보드에 연결할 때TAG 핀아웃, Atmel-ICE의 SAM 커넥터 포트를 사용해야 합니다.
10핀 Cortex 디버그 커넥터에 대한 권장 핀아웃은 그림 4-4에 나와 있습니다.
10핀 50mil Cortex 헤더에 연결
플랫 케이블(일부 키트에 포함)을 사용하여 표준 50mil Cortex 헤더에 연결합니다.
10핀 100mil Cortex 레이아웃 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 100mil Cortex 핀아웃 헤더에 연결합니다.
20핀 100mil SAM 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 20핀 100mil SAM 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 또는 SAM 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 XNUMX개의 연결이 필요합니다.
표 4-4. Atmel-ICE SWD 핀 매핑
이름 | 에이비알(AVR) 포트 핀 | 샘 포트 핀 | 설명 |
SWDC LK | 1 | 4 | 직렬 와이어 디버그 클록. |
SWDIO | 5 | 2 | 직렬 와이어 디버그 데이터 입력/출력. |
스워 | 3 | 6 | 직렬 와이어 출력(옵션 - 모든 장치에서 구현되지 않음). |
nSRST | 6 | 10 | 다시 놓기. |
빈티지 | 4 | 1 | 목표 볼륨tag전자 참조. |
접지 | 2, 10 | 3, 5, 9 | 지면. |
4.2.6 특별 고려 사항
지우기 핀
일부 SAM 장치에는 완전한 칩 삭제를 수행하고 보안 비트가 설정된 장치의 잠금을 해제하는 ERASE 핀이 포함되어 있습니다. 이 기능은 장치 자체와 플래시 컨트롤러에 결합되며 ARM 코어의 일부가 아닙니다.
ERASE 핀은 디버그 헤더의 일부가 아니므로 Atmel-ICE는 이 신호를 어설션하여 장치 잠금을 해제할 수 없습니다. 이러한 경우 사용자는 디버그 세션을 시작하기 전에 수동으로 지우기를 수행해야 합니다.
물리적 인터페이스 JTAG 인터페이스
RESET 라인은 Atmel-ICE가 J를 활성화할 수 있도록 항상 연결되어야 합니다.TAG 인터페이스.
SWD 인터페이스
RESET 라인은 Atmel-ICE가 SWD 인터페이스를 활성화할 수 있도록 항상 연결되어야 합니다.
4.3 J가 있는 AVR UC3 장치TAG/a와이어
모든 AVR UC3 장치에는 J 기능이 있습니다.TAG 프로그래밍 및 디버깅을 위한 인터페이스. 또한 일부 AVR UC3 장치는 단일 와이어를 사용하여 동일한 기능을 가진 aWire 인터페이스를 제공합니다. 해당 장치의 지원되는 인터페이스는 장치 데이터시트를 확인하십시오.
4.3.1 Atmel AVR UC3 온칩 디버그 시스템
Atmel AVR UC3 OCD 시스템은 2.0비트 마이크로컨트롤러를 위한 매우 유연하고 강력한 개방형 온칩 디버그 표준인 Nexus 5001 표준(IEEE-ISTO 2003™-32)에 따라 설계되었습니다. 다음 기능을 지원합니다.
- Nexus 호환 디버그 솔루션
- OCD는 모든 CPU 속도를 지원합니다.
- XNUMX개의 프로그램 카운터 하드웨어 중단점
- 두 개의 데이터 중단점
- 중단점은 감시점으로 구성할 수 있습니다.
- 하드웨어 중단점을 결합하여 범위를 중단할 수 있습니다.
- 무제한 사용자 프로그램 중단점(BREAK 사용)
- 실시간 프로그램 카운터 분기 추적, 데이터 추적, 프로세스 추적(병렬 추적 캡처 포트가 있는 디버거에서만 지원됨)
AVR UC3 OCD 시스템에 대한 자세한 내용은 다음 위치에 있는 AVR32UC 기술 참조 설명서를 참조하십시오. www.atmel.com/uc3.
4.3.2.제TAG 물리적 인터페이스
JTAG 인터페이스는 IEEE를 준수하는 4선 테스트 액세스 포트(TAP) 컨트롤러로 구성됩니다.® 1149.1 표준. IEEE 표준은 회로 보드 연결을 효율적으로 테스트하기 위한 업계 표준 방법(Boundary Scan)을 제공하기 위해 개발되었습니다. Atmel AVR 및 SAM 장치는 전체 프로그래밍 및 온칩 디버깅 지원을 포함하도록 이 기능을 확장했습니다.
그림 4-5. 제이TAG 인터페이스 기본
4.3.2.1 아날로그 JTAG 핀아웃
J가 있는 Atmel AVR을 포함하는 애플리케이션 PCB를 설계할 때TAG 인터페이스는 아래 그림과 같이 핀아웃을 사용하는 것이 좋습니다. 특정 키트에 포함된 케이블 및 어댑터에 따라 이 핀아웃의 100mil 및 50mil 변형이 모두 지원됩니다.
그림 4-6. AVR JTAG 헤더 핀아웃
테이블 4-5. AVR JTAG 핀 설명
이름 | 핀 |
설명 |
티씨씨 | 1 | 테스트 클록(Atmel-ICE에서 대상 장치로의 클록 신호). |
티엠에스 | 5 | 테스트 모드 선택(Atmel-ICE에서 대상 장치로의 제어 신호). |
티디디 | 9 | 테스트 데이터 입력(Atmel-ICE에서 대상 장치로 전송된 데이터). |
TDO | 3 | Test Data Out(대상 장치에서 Atmel-ICE로 전송된 데이터). |
nTRST | 8 | 테스트 재설정(선택 사항, 일부 AVR 장치에만 해당). J를 재설정하는 데 사용TAG 탭 컨트롤러. |
nSRST | 6 | 재설정(선택 사항). 대상 장치를 재설정하는 데 사용됩니다. 이 핀을 연결하면 Atmel-ICE가 대상 장치를 재설정 상태로 유지할 수 있으므로 특정 시나리오에서 디버깅에 필수적일 수 있으므로 이 핀을 연결하는 것이 좋습니다. |
빈티지 | 4 | 목표 볼륨tag전자 참조. Atmel-ICEamp레 대상 볼륨tage 레벨 변환기에 올바르게 전원을 공급하기 위해 이 핀에 연결합니다. Atmel-ICE는 debugWIRE 모드에서 이 핀에서 3mA 미만, 다른 모드에서는 1mA 미만을 인출합니다. |
접지 | 2, 10 | 지면. Atmel-ICE와 대상 장치가 동일한 접지 참조를 공유하도록 둘 다 연결해야 합니다. |
팁: 핀 4과 GND 사이에 디커플링 커패시터를 포함해야 합니다.
4.3.2.2년TAG 데이지 체이닝
JTAG 인터페이스를 사용하면 데이지 체인 구성에서 여러 장치를 단일 인터페이스에 연결할 수 있습니다. 대상 장치는 모두 동일한 공급량으로 전원을 공급받아야 합니다.tage, 공통 접지 노드를 공유하고 아래 그림과 같이 연결해야 합니다.
그림 4-7. 제이TAG 데이지 체인
데이지 체인으로 장치를 연결할 때 다음 사항을 고려해야 합니다.
- 모든 장치는 Atmel-ICE 프로브의 GND에 연결된 공통 접지를 공유해야 합니다.
- 모든 장치는 동일한 대상 볼륨에서 작동해야 합니다.tag이자형. Atmel-ICE의 VTG는 이 vol에 연결되어야 합니다.tage.
- TMS와 TCK는 병렬로 연결됩니다. TDI와 TDO는 직렬 체인으로 연결됩니다.
- Atmel-ICE 프로브의 nSRST는 체인의 장치 중 하나라도 해당 J를 비활성화하는 경우 장치의 RESET에 연결해야 합니다.TAG 포트
- "이전 장치"는 J의 수를 나타냅니다.TAG TDI 신호가 대상 장치에 도달하기 전에 데이지 체인에서 통과해야 하는 장치. 유사하게 "devices after"는 신호가 Atmel-ICE TDO에 도달하기 전에 대상 장치 이후에 통과해야 하는 장치의 수입니다.
- "이전" 및 "이후" 명령 비트는 모든 J의 총합을 나타냅니다.TAG 데이지 체인에서 대상 장치 전후에 연결된 장치의 명령어 레지스터 길이
- 총 IR 길이(이전 명령 비트 + Atmel 대상 장치 IR 길이 + 이후 명령 비트)는 최대 256비트로 제한됩니다. 체인의 장치 수는 이전 15개, 이후 15개로 제한됩니다.
팁:
데이지 체인 예amp예: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Atmel AVR XMEGA에 연결하려면® 데이지 체인 설정은 다음과 같습니다.
- 이전 장치: 1
- 이후 장치: 1
- 이전 명령어 비트: 4(8비트 AVR 장치에는 4개의 IR 비트가 있음)
- 이후 명령 비트: 5(32비트 AVR 장치에는 5개의 IR 비트가 있음)
표 4-6. Atmel MCUS의 IR 길이
장치 유형 | IR 길이 |
AVR 8비트 | 4 비트 |
AVR 32비트 | 5 비트 |
샘 | 4 비트 |
4.3.3.J에 연결하기TAG 목표
Atmel-ICE에는 50개의 10mil XNUMX핀 J가 장착되어 있습니다.TAG 커넥터. 두 커넥터 모두 전기적으로 직접 연결되지만 두 개의 서로 다른 핀 배치를 따릅니다. AVR JTAG 헤더 및 ARM Cortex 디버그 헤더. 커넥터는 대상 MCU 유형이 아닌 대상 보드의 핀아웃을 기준으로 선택해야 합니다.ampAVR STK600 스택에 장착된 SAM 장치는 AVR 헤더를 사용해야 합니다.
10핀 AVR J의 권장 핀아웃TAG 커넥터는 그림 4-6에 나와 있습니다.
10핀 ARM Cortex 디버그 커넥터에 대한 권장 핀아웃은 그림 4-2에 나와 있습니다.
표준 10핀 50mil 헤더에 직접 연결
50mil 10핀 평면 케이블(일부 키트에 포함됨)을 사용하여 이 헤더 유형을 지원하는 보드에 직접 연결하십시오. AVR 핀아웃이 있는 헤더에는 Atmel-ICE의 AVR 커넥터 포트를 사용하고 ARM Cortex 디버그 헤더 핀아웃을 준수하는 헤더에는 SAM 커넥터 포트를 사용하십시오.
두 10핀 커넥터 포트의 핀아웃은 아래와 같습니다.
표준 10핀 100mil 헤더에 연결
표준 50-mil ~ 100-mil 어댑터를 사용하여 100-mil 헤더에 연결하십시오. 어댑터 보드(일부 키트에 포함)를 이 용도로 사용하거나 JTAGICE3 어댑터는 AVR 대상에 사용할 수 있습니다.
중요한:
JTAGICE3 100mil 어댑터는 어댑터의 핀 2와 10(AVR GND)이 연결되어 있으므로 SAM 커넥터 포트와 함께 사용할 수 없습니다.
맞춤형 100mil 헤더에 연결
대상 보드에 호환되는 10핀 J가 없는 경우TAG 50mil 또는 100mil 헤더에 있는 경우 10핀 "mini-squid" 케이블(일부 키트에 포함)을 사용하여 맞춤형 핀아웃에 매핑할 수 있으며, 이를 통해 100개의 개별 XNUMXmil 소켓에 액세스할 수 있습니다.
20핀 100mil 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 20핀 100mil 헤더가 있는 대상에 연결합니다.
표 4-7. Atmel-ICE JTAG 핀 설명
이름 |
AVR 포트 핀 | SAM 포트 핀 |
설명 |
티씨씨 | 1 | 4 | 테스트 클록(Atmel-ICE에서 대상 장치로의 클록 신호). |
티엠에스 | 5 | 2 | 테스트 모드 선택(Atmel-ICE에서 대상 장치로의 제어 신호). |
티디디 | 9 | 8 | 테스트 데이터 입력(Atmel-ICE에서 대상 장치로 전송된 데이터). |
TDO | 3 | 6 | Test Data Out(대상 장치에서 Atmel-ICE로 전송된 데이터). |
nTRST | 8 | – | 테스트 재설정(선택 사항, 일부 AVR 장치에만 해당). J를 재설정하는 데 사용TAG 탭 컨트롤러. |
nSRST | 6 | 10 | 재설정(선택 사항). 대상 장치를 재설정하는 데 사용됩니다. 이 핀을 연결하면 Atmel-ICE가 대상 장치를 재설정 상태로 유지할 수 있으므로 특정 시나리오에서 디버깅에 필수적일 수 있으므로 이 핀을 연결하는 것이 좋습니다. |
빈티지 | 4 | 1 | 목표 볼륨tag전자 참조. Atmel-ICEamp레 대상 볼륨tage 레벨 변환기에 올바르게 전원을 공급하기 위해 이 핀에 연결합니다. Atmel-ICE는 debugWIRE 모드에서 이 핀에서 3mA 미만, 다른 모드에서는 1mA 미만을 인출합니다. |
접지 | 2, 10 | 3, 5, 9 | 지면. Atmel-ICE와 대상 장치가 동일한 접지 기준을 공유하도록 모두 연결해야 합니다. |
4.3.4 aWire 물리적 인터페이스
aWire 인터페이스는 AVR 장치의 RESET 와이어를 사용하여 프로그래밍 및 디버깅 기능을 허용합니다. 핀의 기본 RESET 기능을 비활성화하는 특수 활성화 시퀀스가 Atmel-ICE에 의해 전송됩니다. aWire 인터페이스가 있는 Atmel AVR을 포함하는 애플리케이션 PCB를 설계할 때 그림 4와 같이 핀아웃을 사용하는 것이 좋습니다. -8. 특정 키트에 포함된 케이블 및 어댑터에 따라 이 핀아웃의 100mil 및 50mil 변형이 모두 지원됩니다.
그림 4-8. 와이어 헤더 핀아웃
팁:
aWire는 반이중 인터페이스이므로 방향을 변경할 때 잘못된 시작 비트 감지를 방지하기 위해 47kΩ 정도의 RESET 라인에 풀업 저항을 사용하는 것이 좋습니다.
aWire 인터페이스는 프로그래밍 및 디버깅 인터페이스로 사용할 수 있습니다. 10핀 J를 통해 사용할 수 있는 OCD 시스템의 모든 기능TAG aWire를 사용하여 인터페이스에 액세스할 수도 있습니다.
4.3.5 aWire 대상에 연결
aWire 인터페이스는 V 외에 하나의 데이터 라인만 필요합니다.CC 그리고 GND. 대상에서 이 라인은 nRESET 라인이지만 디버거는 JTAG 데이터 라인으로 TDO 라인.
6핀 aWire 커넥터에 대한 권장 핀 배열은 그림 4-8에 나와 있습니다.
6핀 100mil aWire 헤더에 연결
플랫 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil aWire 헤더에 연결합니다.
6핀 50mil aWire 헤더에 연결
어댑터 보드(일부 키트에 포함)를 사용하여 표준 50mil aWire 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 세 개의 연결이 필요합니다.
표 4-8. Atmel-ICE aWire 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 | 미니 오징어 핀 |
와이어 핀아웃 |
핀 1(TCK) | 1 | ||
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | 데이터 | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | 6 | ||
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 9 | ||
핀 10(GND) | 0 |
4.3.6. 특별 고려 사항
JTAG 인터페이스
일부 Atmel AVR UC3 장치에서 JTAG 포트는 기본적으로 활성화되어 있지 않습니다. 이러한 장치를 사용할 때 Atmel-ICE가 J를 활성화할 수 있도록 RESET 라인을 연결하는 것이 필수적입니다.TAG 인터페이스.
와이어 인터페이스
aWire 통신의 전송 속도는 시스템 클록의 주파수에 따라 달라집니다. 데이터가 이 두 도메인 간에 동기화되어야 하기 때문입니다. Atmel-ICE는 시스템 클럭이 낮아진 것을 자동으로 감지하고 그에 따라 전송 속도를 재보정합니다. 자동 보정은 8kHz의 시스템 클록 주파수까지만 작동합니다. 디버그 세션 중에 더 낮은 시스템 클록으로 전환하면 대상과의 연결이 끊어질 수 있습니다.
필요한 경우 aWire 클록 매개변수를 설정하여 aWire 전송 속도를 제한할 수 있습니다. 자동 감지는 여전히 작동하지만 결과에 상한 값이 부과됩니다.
RESET 핀에 연결된 모든 안정화 커패시터는 인터페이스의 올바른 작동을 방해하므로 aWire를 사용할 때 연결 해제해야 합니다. 이 라인에는 약한 외부 풀업(10kΩ 이상)이 권장됩니다.
절전 모드 종료
일부 AVR UC3 장치에는 3.3V 조정 I/O 라인과 함께 1.8V 공급 모드에서 사용할 수 있는 내부 조정기가 있습니다. 이는 내부 레귤레이터가 코어와 대부분의 I/O에 전원을 공급한다는 의미입니다. 오직 Atmel AVR ONE! 디버거는 이 레귤레이터가 꺼지는 절전 모드를 사용하는 동안 디버깅을 지원합니다.
4.3.7. EVTI / EVTO 사용법
EVTI 및 EVTO 핀은 Atmel-ICE에서 액세스할 수 없습니다. 그러나 여전히 다른 외부 장비와 함께 사용할 수 있습니다.
EVTI는 다음과 같은 용도로 사용할 수 있습니다.
- 대상은 외부 이벤트에 대한 응답으로 강제로 실행을 중지할 수 있습니다. DC 레지스터의 EIC(Event In Control) 비트가 0b01에 기록되면 EVTI 핀의 하이에서 로우로의 전환이 중단점 조건을 생성합니다. EVTI는 한 CPU 클록 주기 동안 낮게 유지되어야 중단점이 보장됩니다. DS의 외부 중단점 비트(EXB)는 이것이 발생할 때 설정됩니다.
- 추적 동기화 메시지 생성. Atmel-ICE에서는 사용하지 않습니다.
EVTO는 다음과 같은 용도로 사용할 수 있습니다.
- CPU가 디버그에 진입했음을 나타냄 DC의 EOS 비트를 0b01로 설정하면 대상 장치가 디버그 모드에 들어갈 때 EVTO 핀이 한 CPU 클록 주기 동안 로우로 풀링됩니다. 이 신호는 외부 오실로스코프의 트리거 소스로 사용할 수 있습니다.
- CPU가 중단점 또는 감시점에 도달했음을 나타냅니다. 해당 중단점/감시점 제어 레지스터에서 EOC 비트를 설정하면 중단점 또는 감시점 상태가 EVTO 핀에 표시됩니다. 이 기능을 활성화하려면 DC의 EOS 비트를 0xb10으로 설정해야 합니다. 그런 다음 EVTO 핀을 외부 오실로스코프에 연결하여 감시점을 검사할 수 있습니다.
- 트레이스 타이밍 신호 생성. Atmel-ICE에서는 사용하지 않습니다.
4.4 tinyAVR, megaAVR 및 XMEGA 장치
AVR 장치에는 다양한 프로그래밍 및 디버깅 인터페이스가 있습니다. 해당 장치의 지원되는 인터페이스는 장치 데이터시트를 확인하십시오.
- 일부 tinyAVR® 장치에 TPI 있음 TPI는 장치 프로그래밍에만 사용할 수 있으며 이러한 장치에는 온칩 디버그 기능이 전혀 없습니다.
- 일부 tinyAVR 장치 및 일부 megaAVR 장치에는 tinyOCD로 알려진 온칩 디버그 시스템에 연결되는 debugWIRE 인터페이스가 있습니다. debugWIRE가 있는 모든 장치에는 시스템 내용 SPI 인터페이스도 있습니다.
- 일부 megaAVR 장치에는 J가 있습니다.TAG J가 있는 모든 장치라고도 하는 온칩 디버그 시스템을 사용하여 프로그래밍 및 디버깅을 위한 인터페이스TAG 또한 시스템 내 프로그래밍을 위한 대체 인터페이스로 SPI 인터페이스를 제공합니다.
- 모든 AVR XMEGA 장치에는 프로그래밍을 위한 PDI 인터페이스가 있으며 일부 AVR XMEGA 장치에는 JTAG 동일한 기능을 가진 인터페이스.
- 새로운 tinyAVR 장치에는 프로그래밍 및 디버깅에 사용되는 UPDI 인터페이스가 있습니다.
표 4-9. 프로그래밍 및 디버깅 인터페이스 요약
|
업디 | 티피아이 | 에스피에이 | 디버그WIR E | JTAG | 피디아이 | 와이어 |
사우디 |
초소형AVR | 새로운 장치 | 일부 장치 | 일부 장치 | 일부 장치 | ||||
메가AV R | 모든 장치 | 일부 장치 | 일부 장치 | |||||
AVR XMEGA | 일부 장치 | 모든 장치 | ||||||
AVR UC | 모든 장치 | 일부 장치 | ||||||
샘 | 일부 장치 | 모든 장치 |
4.4.1.제TAG 물리적 인터페이스
JTAG 인터페이스는 IEEE를 준수하는 4선 테스트 액세스 포트(TAP) 컨트롤러로 구성됩니다.® 1149.1 표준. IEEE 표준은 회로 보드 연결을 효율적으로 테스트하기 위한 업계 표준 방법(Boundary Scan)을 제공하기 위해 개발되었습니다. Atmel AVR 및 SAM 장치는 전체 프로그래밍 및 온칩 디버깅 지원을 포함하도록 이 기능을 확장했습니다.
그림 4-9. 제이TAG 인터페이스 기본4.4.2. J에 연결TAG 목표
Atmel-ICE에는 50개의 10mil XNUMX핀 J가 장착되어 있습니다.TAG 커넥터. 두 커넥터 모두 전기적으로 직접 연결되지만 두 개의 서로 다른 핀 배치를 따릅니다. AVR JTAG 헤더 및 ARM Cortex 디버그 헤더. 커넥터는 대상 MCU 유형이 아닌 대상 보드의 핀아웃을 기준으로 선택해야 합니다.ampAVR STK600 스택에 장착된 SAM 장치는 AVR 헤더를 사용해야 합니다.
10핀 AVR J의 권장 핀아웃TAG 커넥터는 그림 4-6에 나와 있습니다.
10핀 ARM Cortex 디버그 커넥터에 대한 권장 핀아웃은 그림 4-2에 나와 있습니다.
표준 10핀 50mil 헤더에 직접 연결
50mil 10핀 평면 케이블(일부 키트에 포함됨)을 사용하여 이 헤더 유형을 지원하는 보드에 직접 연결하십시오. AVR 핀아웃이 있는 헤더에는 Atmel-ICE의 AVR 커넥터 포트를 사용하고 ARM Cortex 디버그 헤더 핀아웃을 준수하는 헤더에는 SAM 커넥터 포트를 사용하십시오.
두 10핀 커넥터 포트의 핀아웃은 아래와 같습니다.
표준 10핀 100mil 헤더에 연결
표준 50-mil ~ 100-mil 어댑터를 사용하여 100-mil 헤더에 연결하십시오. 어댑터 보드(일부 키트에 포함)를 이 용도로 사용하거나 JTAGICE3 어댑터는 AVR 대상에 사용할 수 있습니다.
중요한:
JTAGICE3 100mil 어댑터는 어댑터의 핀 2와 10(AVR GND)이 연결되어 있으므로 SAM 커넥터 포트와 함께 사용할 수 없습니다.
맞춤형 100mil 헤더에 연결
대상 보드에 호환되는 10핀 J가 없는 경우TAG 50mil 또는 100mil 헤더에 있는 경우 10핀 "mini-squid" 케이블(일부 키트에 포함)을 사용하여 맞춤형 핀아웃에 매핑할 수 있으며, 이를 통해 100개의 개별 XNUMXmil 소켓에 액세스할 수 있습니다.
20핀 100mil 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 20핀 100mil 헤더가 있는 대상에 연결합니다.
표 4-10. Atmel-ICE JTAG 핀 설명
이름 | 에이비알(AVR) 포트 핀 | 샘 포트 핀 | 설명 |
티씨씨 | 1 | 4 | 테스트 클록(Atmel-ICE에서 대상 장치로의 클록 신호). |
티엠에스 | 5 | 2 | 테스트 모드 선택(Atmel-ICE에서 대상 장치로의 제어 신호). |
티디디 | 9 | 8 | 테스트 데이터 입력(Atmel-ICE에서 대상 장치로 전송된 데이터). |
TDO | 3 | 6 | Test Data Out(대상 장치에서 Atmel-ICE로 전송된 데이터). |
nTRST | 8 | – | 테스트 재설정(선택 사항, 일부 AVR 장치에만 해당). J를 재설정하는 데 사용TAG 탭 컨트롤러. |
nSRST | 6 | 10 | 재설정(선택 사항). 대상 장치를 재설정하는 데 사용됩니다. 이 핀을 연결하면 Atmel-ICE가 대상 장치를 재설정 상태로 유지할 수 있으므로 특정 시나리오에서 디버깅에 필수적일 수 있으므로 이 핀을 연결하는 것이 좋습니다. |
빈티지 | 4 | 1 | 목표 볼륨tag전자 참조. Atmel-ICEamp레 대상 볼륨tage 레벨 변환기에 올바르게 전원을 공급하기 위해 이 핀에 연결합니다. Atmel-ICE는 debugWIRE 모드에서 이 핀에서 3mA 미만, 다른 모드에서는 1mA 미만을 인출합니다. |
접지 | 2, 10 | 3, 5, 9 | 지면. Atmel-ICE와 대상 장치가 동일한 접지 기준을 공유하도록 모두 연결해야 합니다. |
4.4.3.SPI 물리적 인터페이스
인시스템 프로그래밍은 대상 Atmel AVR의 내부 SPI(Serial Peripheral Interface)를 사용하여 코드를 플래시 및 EEPROM 메모리로 다운로드합니다. 디버깅 인터페이스가 아닙니다. SPI 인터페이스가 있는 AVR을 포함하는 응용 PCB를 설계할 때 아래 그림과 같은 핀아웃을 사용해야 합니다.
그림 4-10. SPI 헤더 핀아웃4.4.4. SPI 대상에 연결
6핀 SPI 커넥터에 권장되는 핀 배열은 그림 4-10에 나와 있습니다.
6핀 100mil SPI 헤더에 연결
플랫 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil SPI 헤더에 연결합니다.
6핀 50mil SPI 헤더에 연결
어댑터 보드(일부 키트에 포함)를 사용하여 표준 50mil SPI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 XNUMX개의 연결이 필요합니다.
중요한:
debugWIRE 활성화 퓨즈(DWEN)가 프로그래밍되면 SPIEN 퓨즈도 프로그래밍된 경우에도 SPI 인터페이스가 효과적으로 비활성화됩니다. SPI 인터페이스를 다시 활성화하려면 debugWIRE 디버깅 세션에 있는 동안 'disable debugWIRE' 명령을 실행해야 합니다. 이러한 방식으로 debugWIRE를 비활성화하려면 SPIEN 퓨즈가 이미 프로그래밍되어 있어야 합니다. Atmel Studio가 debugWIRE를 비활성화하지 못하는 경우 SPIEN 퓨즈가 프로그래밍되지 않았기 때문일 수 있습니다. 이 경우 고볼륨을 사용해야 합니다.tagSPIEN 퓨즈를 프로그래밍하기 위한 e 프로그래밍 인터페이스.
정보:
SPI 인터페이스는 Atmel AVR 제품의 첫 번째 In System Programming 인터페이스였기 때문에 "ISP"라고도 합니다. 이제 In System Programming에 다른 인터페이스를 사용할 수 있습니다.
표 4-11. Atmel-ICE SPI 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 | 미니 오징어 핀 |
SPI 핀아웃 |
핀 1(TCK) | SCK | 1 | 3 |
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | 미소 | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | /초기화 | 6 | 5 |
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 모시 | 9 | 4 |
핀 10(GND) | 0 |
4.4.5. PDI
프로그램 및 디버그 인터페이스(PDI)는 장치의 외부 프로그래밍 및 온칩 디버깅을 위한 Atmel 독점 인터페이스입니다. PDI Physical은 대상 장치와의 양방향 반이중 동기 통신을 제공하는 2핀 인터페이스입니다.
PDI 인터페이스가 있는 Atmel AVR을 포함하는 애플리케이션 PCB를 설계할 때 아래 그림에 표시된 핀아웃을 사용해야 합니다. 그런 다음 Atmel-ICE 키트와 함께 제공되는 6핀 어댑터 중 하나를 사용하여 Atmel-ICE 프로브를 애플리케이션 PCB에 연결할 수 있습니다.
그림 4-11. PDI 헤더 핀아웃4.4.6.PDI Target에 연결하기
6핀 PDI 커넥터의 권장 핀 배열은 그림 4-11에 나와 있습니다.
6핀 100mil PDI 헤더에 연결
평면 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil PDI 헤더에 연결합니다.
6핀 50mil PDI 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 표준 50mil PDI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 XNUMX개의 연결이 필요합니다.
중요한:
필요한 핀아웃은 J와 다릅니다.TAG아이스 mkII JTAG 여기서 PDI_DATA는 핀 9에 연결됩니다. Atmel-ICE는 Atmel-ICE, J에서 사용하는 핀아웃과 호환됩니다.TAGICE3, AVR ONE! 및 AVR 드래곤™ 제품.
표 4-12. Atmel-ICE PDI 핀 매핑
Atmel-ICE AVR 포트 핀 |
대상 핀 | 미니 오징어 핀 |
Atmel STK600 PDI 핀아웃 |
핀 1(TCK) | 1 | ||
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | PDI_DATA | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | PDI_CLK | 6 | 5 |
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 9 | ||
핀 10(GND) | 0 |
4.4.7. UPDI 물리적 인터페이스
UPDI(통합 프로그램 및 디버그 인터페이스)는 장치의 외부 프로그래밍 및 온칩 디버깅을 위한 Atmel 독점 인터페이스입니다. 모든 AVR XMEGA 장치에서 볼 수 있는 PDI 2선 물리적 인터페이스의 후속 제품입니다. UPDI는 프로그래밍 및 디버깅을 위해 대상 장치와 양방향 반이중 비동기 통신을 제공하는 단선 인터페이스입니다.
UPDI 인터페이스가 있는 Atmel AVR을 포함하는 애플리케이션 PCB를 설계할 때 아래 표시된 핀아웃을 사용해야 합니다. 그런 다음 Atmel-ICE 키트와 함께 제공되는 6핀 어댑터 중 하나를 사용하여 Atmel-ICE 프로브를 애플리케이션 PCB에 연결할 수 있습니다.
그림 4-12. UPDI 헤더 핀아웃4.4.7.1 UPDI 및 /RESET
UPDI 단선 인터페이스는 대상 AVR 장치에 따라 전용 핀 또는 공유 핀일 수 있습니다. 자세한 내용은 장치 데이터시트를 참조하십시오.
UPDI 인터페이스가 공유 핀에 있는 경우 RSTPINCFG[1:0] 퓨즈를 설정하여 핀을 UPDI, /RESET 또는 GPIO로 구성할 수 있습니다.
RSTPINCFG[1:0] 퓨즈의 구성은 데이터시트에 설명된 대로 다음과 같습니다. 각 선택의 실질적인 의미가 여기에 나와 있습니다.
표 4-13. RSTPINCFG[1:0] 퓨즈 구성
RSTPINCFG[1:0] | 구성 |
용법 |
00 | GPIO | 범용 I/O 핀. UPDI에 액세스하려면 이 핀에 12V 펄스를 적용해야 합니다. 외부 리셋 소스를 사용할 수 없습니다. |
01 | 업디 | 전용 프로그래밍 및 디버깅 핀. 외부 리셋 소스를 사용할 수 없습니다. |
10 | 다시 놓기 | 신호 입력을 재설정하십시오. UPDI에 액세스하려면 이 핀에 12V 펄스를 적용해야 합니다. |
11 | 예약된 | NA |
메모: 이전 AVR 장치에는 "High-Vol"로 알려진 프로그래밍 인터페이스가 있습니다.tage 프로그래밍”(직렬 및 병렬 변형이 모두 존재합니다.) 일반적으로 이 인터페이스는 프로그래밍 세션 동안 /RESET 핀에 12V를 적용해야 합니다. UPDI 인터페이스는 완전히 다른 인터페이스입니다. UPDI 핀은 기본적으로 프로그래밍 및 디버깅 핀으로, 융합하여 대체 기능(/RESET 또는 GPIO)을 가질 수 있습니다. 대체 기능을 선택한 경우 UPDI 기능을 다시 활성화하려면 해당 핀에 12V 펄스가 필요합니다.
메모: 설계에서 핀 제약으로 인해 UPDI 신호 공유가 필요한 경우 장치를 프로그래밍할 수 있도록 조치를 취해야 합니다. UPDI 신호가 올바르게 작동할 수 있도록 하고 12V 펄스로 인한 외부 구성 요소의 손상을 방지하려면 장치를 디버깅하거나 프로그래밍하려고 할 때 이 핀의 모든 구성 요소를 분리하는 것이 좋습니다. 이것은 0Ω 저항을 사용하여 수행할 수 있습니다. 이 저항은 기본적으로 장착되며 디버깅하는 동안 핀 헤더로 제거 또는 교체됩니다. 이 구성은 사실상 장치를 장착하기 전에 프로그래밍을 수행해야 함을 의미합니다.
중요한: Atmel-ICE는 UPDI 라인에서 12V를 지원하지 않습니다. 즉, UPDI 핀이 GPIO 또는 RESET으로 구성된 경우 Atmel-ICE는 UPDI 인터페이스를 활성화할 수 없습니다.
4.4.8.UPDI 대상에 연결
6핀 UPDI 커넥터에 권장되는 핀 배열은 그림 4-12에 나와 있습니다.
6핀 100mil UPDI 헤더에 연결
플랫 케이블(일부 키트에 포함됨)의 6핀 100mil 탭을 사용하여 표준 100mil UPDI 헤더에 연결합니다.
6핀 50mil UPDI 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 표준 50mil UPDI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 세 개의 연결이 필요합니다.
표 4-14. Atmel-ICE UPDI 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 | 미니 오징어 핀 |
Atmel STK600 UPDI 핀아웃 |
핀 1(TCK) | 1 | ||
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | UPDI_DATA | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | [/RESET 센스] | 6 | 5 |
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 9 | ||
핀 10(GND) | 0 |
4.4.9 TPI 물리적 인터페이스
TPI는 일부 AVR ATtiny 장치용 프로그래밍 전용 인터페이스입니다. 디버깅 인터페이스가 아니며 이러한 장치에는 OCD 기능이 없습니다. TPI 인터페이스가 있는 AVR을 포함하는 응용 PCB를 설계할 때 아래 그림에 표시된 핀아웃을 사용해야 합니다.
그림 4-13. TPI 헤더 핀아웃4.4.10.TPI 대상에 연결
6핀 TPI 커넥터에 권장되는 핀 배열은 그림 4-13에 나와 있습니다.
6핀 100mil TPI 헤더에 연결
플랫 케이블(일부 키트에 포함)의 6핀 100mil 탭을 사용하여 표준 100mil TPI 헤더에 연결합니다.
6핀 50mil TPI 헤더에 연결
어댑터 보드(일부 키트에 포함됨)를 사용하여 표준 50mil TPI 헤더에 연결합니다.
맞춤형 100mil 헤더에 연결
10핀 미니 오징어 케이블은 Atmel-ICE AVR 커넥터 포트와 대상 보드 사이를 연결하는 데 사용해야 합니다. 아래 표에 설명된 대로 XNUMX개의 연결이 필요합니다.
표 4-15. Atmel-ICE TPI 핀 매핑
Atmel-ICE AVR 포트 핀 | 대상 핀 | 미니 오징어 핀 |
TPI 핀아웃 |
핀 1(TCK) | 시계 | 1 | 3 |
핀 2(GND) | 접지 | 2 | 6 |
핀 3(TDO) | 데이터 | 3 | 1 |
핀 4(VTG) | 빈티지 | 4 | 2 |
핀 5(TMS) | 5 | ||
핀 6(nSRST) | /초기화 | 6 | 5 |
핀 7(연결되지 않음) | 7 | ||
핀 8(nTRST) | 8 | ||
핀 9(TDI) | 9 | ||
핀 10(GND) | 0 |
4.4.11. 고급 디버깅(AVR JTAG /debugWIRE 장치)
I/O 주변기기
프로그램 실행이 중단점에 의해 중지되더라도 대부분의 I/O 주변 장치는 계속 실행됩니다. 전ample: UART 전송 중에 중단점에 도달하면 전송이 완료되고 해당 비트가 설정됩니다. TXC(전송 완료) 플래그는 일반적으로 실제 장치에서 나중에 발생하더라도 코드의 다음 단일 단계에서 설정되고 사용할 수 있습니다.
모든 I/O 모듈은 다음 두 가지 예외를 제외하고 중지 모드에서 계속 실행됩니다.
- 타이머/카운터(소프트웨어 프런트 엔드를 사용하여 구성 가능)
- Watchdog Timer(디버깅 중 재설정을 방지하기 위해 항상 중지됨)
싱글 스테핑 I/O 액세스
I/O가 중지 모드에서 계속 실행되기 때문에 특정 타이밍 문제를 방지하기 위해 주의를 기울여야 합니다. 예를 들어amp르, 코드:
이 코드를 정상적으로 실행할 때 TEMP 레지스터는 0xAA를 다시 읽지 않습니다. 데이터가 아직 핀에 물리적으로 래치되지 않았기 때문입니다.ampIN 오퍼레이션에 의해 주도됩니다. PIN 레지스터에 올바른 값이 있는지 확인하려면 OUT과 IN 명령 사이에 NOP 명령을 배치해야 합니다.
그러나 OCD를 통해 이 기능을 싱글 스테핑할 때 싱글 스테핑 중에 코어가 중지된 경우에도 I/O가 최고 속도로 실행되기 때문에 이 코드는 PIN 레지스터에 항상 0xAA를 제공합니다.
단일 스테핑 및 타이밍
특정 레지스터는 제어 신호를 활성화한 후 지정된 주기 수 내에서 읽거나 써야 합니다. I/O 클럭과 주변 장치는 정지 모드에서 최고 속도로 계속 실행되기 때문에 이러한 코드를 통한 단일 스테핑은 타이밍 요구 사항을 충족하지 않습니다. 두 개의 단일 단계 사이에서 I/O 클럭은 수백만 사이클을 실행했을 수 있습니다. 이러한 타이밍 요구 사항으로 레지스터를 성공적으로 읽거나 쓰려면 전체 읽기 또는 쓰기 시퀀스가 장치를 최대 속도로 실행하는 원자적 작업으로 수행되어야 합니다. 이는 매크로 또는 함수 호출을 사용하여 코드를 실행하거나 디버깅 환경에서 커서까지 실행 기능을 사용하여 수행할 수 있습니다.
16비트 레지스터 액세스
Atmel AVR 주변 장치에는 일반적으로 16비트 데이터 버스(예: 8비트 타이머의 TCNTn)를 통해 액세스할 수 있는 여러 16비트 레지스터가 포함되어 있습니다. 16비트 레지스터는 두 번의 읽기 또는 쓰기 작업을 사용하여 바이트 액세스해야 합니다. 16비트 액세스 도중에 중단하거나 이 상황을 한 단계씩 건너뛰면 잘못된 값이 나올 수 있습니다.
제한된 I/O 레지스터 액세스
특정 레지스터는 내용에 영향을 주지 않고는 읽을 수 없습니다. 이러한 레지스터에는 읽기로 지워지는 플래그 또는 버퍼링된 데이터 레지스터(예: UDR)가 포함된 레지스터가 포함됩니다. 소프트웨어 프런트 엔드는 OCD 디버깅의 의도된 비간섭적 특성을 보존하기 위해 정지 모드에 있을 때 이러한 레지스터 읽기를 방지합니다. 또한 일부 레지스터는 부작용 발생 없이 안전하게 쓸 수 없습니다. 이러한 레지스터는 읽기 전용입니다. 예를 들어amp르 :
- 플래그 레지스터(플래그는 임의의 항목에 '1'을 쓰면 지워짐) 이 레지스터는 읽기 전용입니다.
- UDR 및 SPDR 레지스터는 모듈 상태에 영향을 주지 않고는 읽을 수 없습니다. 이러한 레지스터는
4.4.12. megaAVR 특별 고려 사항
소프트웨어 중단점
OCD 모듈의 초기 버전을 포함하고 있기 때문에 ATmega128[A]는 소프트웨어 중단점에 대한 BREAK 명령의 사용을 지원하지 않습니다.
JTAG 시계
대상 클록 주파수는 디버그 세션을 시작하기 전에 소프트웨어 프런트 엔드에서 정확하게 지정해야 합니다. 동기화상의 이유로 JTAG TCK 신호는 신뢰할 수 있는 디버깅을 위해 대상 클록 주파수의 XNUMX/XNUMX 미만이어야 합니다. J를 통해 프로그래밍할 때TAG 인터페이스에서 TCK 주파수는 사용 중인 실제 클록 주파수가 아니라 대상 장치의 최대 주파수 정격에 의해 제한됩니다.
내부 RC 발진기를 사용할 때 장치마다 주파수가 다를 수 있으며 온도 및 V의 영향을 받을 수 있음을 유의하십시오.CC 변화. 대상 클록 주파수를 지정할 때 신중해야 합니다.
JTAGEN 및 OCDEN 퓨즈
JTAG 인터페이스는 J를 사용하여 활성화됩니다.TAG기본적으로 프로그래밍된 EN 퓨즈. 이렇게 하면 J에 액세스할 수 있습니다.TAG 프로그래밍 인터페이스. 이 메커니즘을 통해 OCDEN 퓨즈를 프로그래밍할 수 있습니다(기본적으로 OCDEN은 프로그래밍되지 않음). 이를 통해 장치 디버깅을 용이하게 하기 위해 OCD에 액세스할 수 있습니다. 소프트웨어 프런트 엔드는 세션 종료 시 OCDEN 퓨즈가 프로그래밍되지 않은 상태로 유지되도록 하여 OCD 모듈의 불필요한 전력 소비를 제한합니다. 만약 JTAGEN 퓨즈가 의도하지 않게 비활성화되었습니다. SPI 또는 High Vol을 통해서만 다시 활성화할 수 있습니다.tag전자 프로그래밍 방법.
만약 JTAGEN 퓨즈가 프로그래밍되면 JTAG 인터페이스는 JTD 비트를 설정하여 펌웨어에서 여전히 비활성화할 수 있습니다. 이렇게 하면 코드를 디버그할 수 없게 되며 디버그 세션을 시도할 때 수행해서는 안 됩니다. 이러한 코드가 디버그 세션을 시작할 때 Atmel AVR 장치에서 이미 실행 중인 경우 Atmel-ICE는 연결하는 동안 RESET 라인을 어설션합니다. 이 라인이 올바르게 연결되면 대상 AVR 장치를 강제로 재설정하여 J를 허용합니다.TAG 연결.
만약 JTAG 인터페이스가 활성화되면 JTAG 핀은 대체 핀 기능에 사용할 수 없습니다. 그들은 헌신적 인 J로 남을 것입니다TAG J까지 핀TAG 프로그램 코드에서 JTD 비트를 설정하거나 J를 지우면 인터페이스가 비활성화됩니다.TAG프로그래밍 인터페이스를 통한 EN 퓨즈.
팁:
Atmel-ICE가 RESET 라인을 어설션하고 JTAG J를 비활성화하는 코드를 실행하는 장치의 인터페이스TAG JTD 비트를 설정하여 인터페이스.
IDR/OCDR 이벤트
IDR(In-out Data Register)은 OCDR(On Chip Debug Register)이라고도 하며 디버그 세션 동안 중지 모드에 있을 때 디버거에서 MCU에 정보를 읽고 쓰는 데 광범위하게 사용됩니다. 실행 모드의 애플리케이션 프로그램이 디버깅 중인 AVR 장치의 OCDR 레지스터에 데이터 바이트를 쓰면 Atmel-ICE가 이 값을 읽어 소프트웨어 프런트 엔드의 메시지 창에 표시합니다. OCDR 레지스터는 50ms마다 폴링되므로 더 높은 빈도로 기록하면 신뢰할 수 있는 결과를 얻을 수 없습니다. AVR 장치가 디버그되는 동안 전원이 꺼지면 가짜 OCDR 이벤트가 보고될 수 있습니다. 이는 Atmel-ICE가 여전히 장치를 대상 볼륨으로 폴링할 수 있기 때문에 발생합니다.tage는 AVR의 최소 작동 볼륨 아래로 떨어집니다.tage.
4.4.13. AVR XMEGA 특별 고려 사항
OCD 및 클럭킹
MCU가 정지 모드로 들어가면 OCD 클럭이 MCU 클럭으로 사용됩니다. OCD 시계는 JTAG J인 경우 TCKTAG 인터페이스가 사용되고 있거나 PDI 인터페이스가 사용되고 있는 경우 PDI_CLK입니다.
정지 모드의 I/O 모듈
초기 Atmel megaAVR 장치와 달리 XMEGA에서는 I/O 모듈이 정지 모드에서 정지됩니다. 이는 USART 전송이 중단되고 타이머(및 PWM)가 중지됨을 의미합니다.
하드웨어 중단점
XNUMX개의 하드웨어 중단점 비교기가 있습니다(두 개의 주소 비교기와 두 개의 값 비교기). 특정 제한 사항이 있습니다.
- 모든 중단점은 동일한 유형(프로그램 또는 데이터)이어야 합니다.
- 모든 데이터 중단점은 동일한 메모리 영역(I/O, SRAM 또는 XRAM)에 있어야 합니다.
- 주소 범위를 사용하는 경우 중단점은 하나만 있을 수 있습니다.
설정할 수 있는 다양한 조합은 다음과 같습니다.
- 두 개의 단일 데이터 또는 프로그램 주소 중단점
- 하나의 데이터 또는 프로그램 주소 범위 중단점
- 단일 값 비교가 있는 두 개의 단일 데이터 주소 중단점
- 주소 범위, 값 범위 또는 둘 다 있는 하나의 데이터 중단점
Atmel Studio는 중단점을 설정할 수 없는 경우와 그 이유를 알려줍니다. 소프트웨어 중단점이 사용 가능한 경우 데이터 중단점이 프로그램 중단점보다 우선합니다.
외부 리셋 및 PDI 물리적
PDI 물리적 인터페이스는 리셋 라인을 클럭으로 사용합니다. 디버깅하는 동안 리셋 풀업은 10k 이상이거나 제거되어야 합니다. 리셋 커패시터는 모두 제거해야 합니다. 다른 외부 리셋 소스는 연결 해제해야 합니다.
ATxmegaA1 rev H 및 이전 버전에 대한 절전 모드 디버깅
초기 버전의 ATxmegaA1 장치에는 장치가 특정 절전 모드에 있는 동안 OCD가 활성화되지 않는 버그가 있었습니다. OCD를 다시 활성화하는 두 가지 해결 방법이 있습니다.
- Atmel-ICE로 이동합니다. 도구 메뉴의 옵션에서 "장치 재프로그래밍 시 항상 외부 재설정 활성화"를 활성화합니다.
- 칩 지우기 수행
이 버그를 유발하는 절전 모드는 다음과 같습니다.
- 전력 다운
- 절전
- 대기
- 장시간 대기
4.4.1.debugWIRE 특별 고려 사항
debugWIRE 통신 핀(dW)은 물리적으로 외부 리셋(RESET)과 동일한 핀에 있습니다. 따라서 debugWIRE 인터페이스가 활성화되면 외부 리셋 소스가 지원되지 않습니다.
debugWIRE 활성화 퓨즈(DWEN)는 debugWIRE 인터페이스가 작동하려면 대상 장치에 설정되어야 합니다. 이 퓨즈는 Atmel AVR 장치가 공장에서 배송될 때 기본적으로 프로그래밍되지 않습니다. debugWIRE 인터페이스 자체는 이 퓨즈를 설정하는 데 사용할 수 없습니다. DWEN 퓨즈를 설정하기 위해서는 SPI 모드를 사용해야 합니다. 필요한 SPI 핀이 연결되어 있으면 소프트웨어 프런트 엔드가 이를 자동으로 처리합니다. Atmel Studio 프로그래밍 대화 상자에서 SPI 프로그래밍을 사용하여 설정할 수도 있습니다.
어느 하나: debugWIRE 부분에서 디버그 세션을 시작하려고 시도합니다. debugWIRE 인터페이스가 활성화되지 않은 경우 Atmel Studio는 재시도를 제안하거나 SPI 프로그래밍을 사용하여 debugWIRE를 활성화하려고 시도합니다. 전체 SPI 헤더가 연결되어 있으면 debugWIRE가 활성화되고 타겟의 전원을 켜도록 전환하라는 메시지가 표시됩니다. 이는 퓨즈 변경이 유효하기 위해 필요합니다.
또는: SPI 모드에서 프로그래밍 대화 상자를 열고 서명이 올바른 장치와 일치하는지 확인하십시오. DWEN 퓨즈를 확인하여 debugWIRE를 활성화하십시오.
중요한:
SPIEN 퓨즈는 프로그래밍된 상태로, RSTDISBL 퓨즈는 프로그래밍되지 않은 상태로 두는 것이 중요합니다! 이 작업을 수행하지 않으면 장치가 debugWIRE 모드에 고정되고 High Vol이 렌더링됩니다.tagDWEN 설정을 되돌리려면 프로그래밍이 필요합니다.
debugWIRE 인터페이스를 비활성화하려면 High Vol을 사용하십시오.tage DWEN 퓨즈를 프로그래밍 해제하도록 프로그래밍합니다. 또는 debugWIRE 인터페이스 자체를 사용하여 SPIEN 퓨즈가 설정되어 있는 경우 SPI 프로그래밍을 수행할 수 있도록 일시적으로 비활성화합니다.
중요한:
SPIEN 퓨즈가 프로그래밍되지 않은 경우 Atmel Studio는 이 작업을 완료할 수 없으며 High Voltag전자 프로그래밍을 사용해야 합니다.
디버그 세션 동안 'Debug' 메뉴에서 'Disable debugWIRE and Close' 메뉴 옵션을 선택하십시오. DebugWIRE는 일시적으로 비활성화되며 Atmel Studio는 SPI 프로그래밍을 사용하여 DWEN 퓨즈를 프로그래밍 해제합니다.
DWEN 퓨즈를 프로그래밍하면 시계 시스템의 일부가 모든 절전 모드에서 실행될 수 있습니다. 이렇게 하면 절전 모드에 있는 동안 AVR의 전력 소비가 증가합니다. 따라서 debugWIRE를 사용하지 않을 때는 DWEN 퓨즈를 항상 비활성화해야 합니다.
debugWIRE가 사용될 대상 애플리케이션 PCB를 설계할 때 올바른 작동을 위해 다음 사항을 고려해야 합니다.
- dW/(RESET) 라인의 풀업 저항은 10kΩ보다 작아야 합니다(강해야 함). 디버거 도구가 다음을 제공하므로 debugWIRE 기능에는 풀업 저항이 필요하지 않습니다.
- RESET 핀에 연결된 안정화 커패시터는 debugWIRE를 사용할 때 인터페이스의 올바른 작동을 방해하므로 연결 해제해야 합니다.
- RESET 라인의 모든 외부 리셋 소스 또는 기타 활성 드라이버는 인터페이스의 올바른 작동을 방해할 수 있으므로 연결을 끊어야 합니다.
대상 장치에서 잠금 비트를 프로그래밍하지 마십시오. debugWIRE 인터페이스가 올바르게 작동하려면 잠금 비트가 지워져야 합니다.
4.4.15. debugWIRE 소프트웨어 중단점
debugWIRE OCD는 Atmel megaAVR(JTAG) 강박 장애. 이는 디버깅 목적으로 사용자가 사용할 수 있는 프로그램 카운터 중단점 비교기가 없음을 의미합니다. 이러한 비교기 중 하나는 커서까지 실행 및 단계별 작업을 위해 존재하지만 추가 사용자 중단점은 하드웨어에서 지원되지 않습니다.
대신 디버거는 AVR BREAK 명령을 사용해야 합니다. 이 명령어는 FLASH에 배치할 수 있으며 실행을 위해 로드되면 AVR CPU가 중지 모드로 들어가게 합니다. 디버깅 중에 중단점을 지원하려면 디버거는 사용자가 중단점을 요청하는 지점에서 FLASH에 BREAK 명령을 삽입해야 합니다. 나중에 교체할 수 있도록 원래 명령을 캐시해야 합니다.
BREAK 명령을 한 단계씩 건너뛸 때 디버거는 프로그램 동작을 유지하기 위해 원래 캐시된 명령을 실행해야 합니다. 극단적인 경우 FLASH에서 BREAK를 제거하고 나중에 교체해야 합니다. 이러한 모든 시나리오는 중단점에서 단일 스테핑할 때 명백한 지연을 유발할 수 있으며, 목표 클럭 주파수가 매우 낮을 때 악화됩니다.
따라서 가능한 경우 다음 지침을 준수하는 것이 좋습니다.
- 디버깅하는 동안 항상 가능한 한 높은 빈도로 대상을 실행하십시오. debugWIRE 물리적 인터페이스는 대상 클록에서 클럭됩니다.
- 각각 대상에서 FLASH 페이지를 교체해야 하므로 중단점 추가 및 제거 횟수를 최소화하십시오.
- FLASH 페이지 쓰기 작업의 수를 최소화하기 위해 한 번에 적은 수의 중단점을 추가하거나 제거하십시오.
- 가능하면 이중 단어 명령에 중단점을 두지 마십시오.
4.4.16. debugWIRE 및 DWEN 퓨즈 이해
활성화되면 debugWIRE 인터페이스가 장치의 /RESET 핀을 제어하므로 이 핀도 필요한 SPI 인터페이스와 상호 배타적입니다. debugWIRE 모듈을 활성화 및 비활성화할 때 다음 두 가지 방법 중 하나를 따르십시오.
- Atmel Studio에서 처리하도록 하십시오(권장).
- DWEN을 수동으로 설정 및 삭제(고급 사용자만 주의하십시오!)
중요한: DWEN을 수동으로 조작할 때 High-Vol을 사용하지 않도록 SPIEN 퓨즈를 설정 상태로 유지하는 것이 중요합니다.tag전자 프로그래밍
그림 4-14. debugWIRE 및 DWEN 퓨즈 이해4.4.17.TinyX-OCD(UPDI) 특별 고려 사항
UPDI 데이터 핀(UPDI_DATA)은 대상 AVR 장치에 따라 전용 핀 또는 공유 핀일 수 있습니다. 공유 UPDI 핀은 12V 허용이며 /RESET 또는 GPIO로 사용하도록 구성할 수 있습니다. 이러한 구성에서 핀을 사용하는 방법에 대한 자세한 내용은 UPDI 물리적 인터페이스를 참조하십시오.
CRCSCAN 모듈(Cyclic Redundancy Check Memory Scan)을 포함하는 장치에서 이 모듈은 디버깅하는 동안 연속 백그라운드 모드에서 사용하면 안 됩니다. OCD 모듈에는 하드웨어 중단점 비교기 리소스가 제한되어 있으므로 더 많은 중단점이 필요하거나 소스 수준 코드 스테핑 중에도 BREAK 명령을 플래시(소프트웨어 중단점)에 삽입할 수 있습니다. CRC 모듈은 이 중단점을 플래시 메모리 내용의 손상으로 잘못 감지할 수 있습니다.
CRCSCAN 모듈은 부팅 전에 CRC 스캔을 수행하도록 구성할 수도 있습니다. CRC 불일치의 경우 장치가 부팅되지 않고 잠긴 상태로 나타납니다. 이 상태에서 장치를 복구하는 유일한 방법은 전체 칩 삭제를 수행하고 유효한 플래시 이미지를 프로그래밍하거나 사전 부팅 CRCSCAN을 비활성화하는 것입니다. (간단한 칩 삭제는 유효하지 않은 CRC와 함께 블랭크 플래시를 생성하므로 부품이 여전히 부팅되지 않습니다.) Atmel Studio는 칩이 이 상태에서 장치를 삭제할 때 CRCSCAN 퓨즈를 자동으로 비활성화합니다.
UPDI 인터페이스가 사용될 대상 애플리케이션 PCB를 설계할 때 올바른 작동을 위해 다음 사항을 고려해야 합니다.
- UPDI 라인의 풀업 저항은 10kΩ보다 작지(강하지) 않아야 합니다. 풀다운 저항은 사용하지 않거나 UPDI를 사용할 때 제거해야 합니다. UPDI 물리는 푸시-풀이 가능하므로 라인이 있을 때 잘못된 시작 비트 트리거링을 방지하기 위해 약한 풀업 저항만 필요합니다.
- UPDI 핀을 RESET 핀으로 사용하려면 UPDI를 사용할 때 안정화 커패시터를 분리해야 합니다. 인터페이스의 올바른 작동을 방해하기 때문입니다.
- UPDI 핀이 RESET 또는 GPIO 핀으로 사용되는 경우 인터페이스의 올바른 작동을 방해할 수 있으므로 프로그래밍 또는 디버깅 중에 회선의 모든 외부 드라이버를 연결 해제해야 합니다.
하드웨어 설명
5.1. LED
Atmel-ICE 상단 패널에는 현재 디버그 또는 프로그래밍 세션의 상태를 나타내는 XNUMX개의 LED가 있습니다.
테이블 5-1. LED
주도의 | 기능 |
설명 |
왼쪽 | 목표 전력 | 목표 파워가 정상일 때 녹색. 깜박임은 대상 전원 오류를 나타냅니다. 프로그래밍/디버깅 세션 연결이 시작될 때까지 켜지지 않습니다. |
가운데 | 주전원 | 메인 보드 전원이 정상일 때 빨간색. |
오른쪽 | 상태 | 대상이 실행/스테핑 중일 때 녹색으로 깜박입니다. 대상이 정지되면 꺼집니다. |
5.2. 후면 패널
Atmel-ICE의 후면 패널에는 Micro-B USB 커넥터가 있습니다.5.3. 하단 패널
Atmel-ICE의 하단 패널에는 일련 번호와 제조 날짜가 표시된 스티커가 있습니다. 기술 지원을 요청할 때 다음 세부 정보를 포함하십시오.5.4 .아키텍처 설명
Atmel-ICE 아키텍처는 그림 5-1의 블록 다이어그램에 나와 있습니다.
그림 5-1. Atmel-ICE 블록 다이어그램5.4.1. Atmel-ICE 메인 보드
전원은 USB 버스에서 Atmel-ICE로 공급되며 강압 스위치 모드 조정기에 의해 3.3V로 조정됩니다. VTG 핀은 기준 입력으로만 사용되며 별도의 전원 공급 장치가 변수 vol을 공급합니다.tag온보드 레벨 변환기의 e측. Atmel-ICE 메인 보드의 중심에는 Atmel AVR UC3 마이크로컨트롤러 AT32UC3A4256이 있으며, 이는 처리 중인 작업에 따라 1MHz ~ 60MHz에서 실행됩니다. 마이크로컨트롤러에는 온칩 USB 2.0 고속 모듈이 포함되어 있어 디버거와의 높은 데이터 처리량을 허용합니다.
Atmel-ICE와 대상 장치 간의 통신은 대상의 작동 볼륨 간에 신호를 전환하는 레벨 변환기 뱅크를 통해 수행됩니다.tage 및 내부 부피tagAtmel-ICE의 e 레벨. 또한 신호 경로에는 제너 오버볼이 있습니다.tage 보호 다이오드, 직렬 종단 저항기, 유도 필터 및 ESD 보호 다이오드. 모든 신호 채널은 1.62V ~ 5.5V 범위에서 작동할 수 있지만 Atmel-ICE 하드웨어는 더 높은 볼륨을 구동할 수 없습니다.tage 5.0V보다. 최대 작동 주파수는 사용 중인 대상 인터페이스에 따라 다릅니다.
5.4.2.Atmel-ICE 대상 커넥터
Atmel-ICE에는 활성 프로브가 없습니다. 50mil IDC 케이블은 직접 또는 일부 키트에 포함된 어댑터를 통해 대상 애플리케이션에 연결하는 데 사용됩니다. 케이블 및 어댑터에 대한 자세한 내용은 Atmel-ICE 조립 섹션을 참조하십시오.
5.4.3. Atmel-ICE 대상 커넥터 부품 번호
Atmel-ICE 50mil IDC 케이블을 대상 보드에 직접 연결하려면 표준 50mil 10핀 헤더로 충분해야 합니다. 키트에 포함된 어댑터 보드에 사용되는 것과 같이 대상에 연결할 때 올바른 방향을 보장하기 위해 키가 있는 헤더를 사용하는 것이 좋습니다.
이 헤더의 부품 번호는 SAMTEC의 FTSH-105-01-L-DV-KAP입니다.
소프트웨어 통합
6.1. 아트멜 스튜디오
6.1.1.Atmel Studio의 소프트웨어 통합
Atmel Studio는 Windows 환경에서 Atmel AVR 및 Atmel SAM 응용 프로그램을 작성하고 디버깅하기 위한 통합 개발 환경(IDE)입니다. Atmel Studio는 프로젝트 관리 도구, 소스를 제공합니다. file C/C++용 편집기, 시뮬레이터, 어셈블러 및 프런트 엔드, 프로그래밍, 에뮬레이션 및 온칩 디버깅.
Atmel Studio 버전 6.2 이상은 Atmel-ICE와 함께 사용해야 합니다.
6.1.2. 프로그래밍 옵션
Atmel Studio는 Atmel-ICE를 사용하여 Atmel AVR 및 Atmel SAM ARM 장치의 프로그래밍을 지원합니다. J를 사용하도록 프로그래밍 대화 상자를 구성할 수 있습니다.TAG, aWire, SPI, PDI, TPI, SWD 모드, 선택한 대상 장치에 따라.
클럭 주파수를 구성할 때 서로 다른 인터페이스 및 대상 제품군에 서로 다른 규칙이 적용됩니다.
- SPI 프로그래밍은 목표 클럭을 사용합니다. 대상 장치가 현재 실행 중인 주파수의 XNUMX/XNUMX보다 낮도록 클록 주파수를 구성합니다.
- JTAG Atmel megaAVR 장치의 프로그래밍은 프로그래밍 클록 주파수가 장치 자체의 최대 작동 주파수로 제한됨을 의미합니다. (보통 16MHz입니다.)
- 두 J 모두에서 AVR XMEGA 프로그래밍TAG PDI 인터페이스는 프로그래머에 의해 클럭됩니다. 이는 프로그래밍 클록 주파수가 장치의 최대 작동 주파수(일반적으로 32MHz)로 제한됨을 의미합니다.
- J에서 AVR UC3 프로그래밍TAG 인터페이스는 프로그래머에 의해 클럭됩니다. 이는 프로그래밍 클록 주파수가 장치 자체의 최대 작동 주파수로 제한됨을 의미합니다. (33MHz로 제한됩니다.)
- aWire 인터페이스의 AVR UC3 프로그래밍은 대상 장치의 SAB 버스 속도에 의해 최적의 주파수가 제공됩니다. Atmel-ICE 디버거는 이 기준을 충족하도록 aWire 전송 속도를 자동으로 조정합니다. 일반적으로 필요하지는 않지만 사용자는 필요한 경우(예: 시끄러운 환경에서) 최대 전송 속도를 제한할 수 있습니다.
- SWD 인터페이스의 SAM 장치 프로그래밍은 프로그래머가 시간을 기록합니다. Atmel-ICE가 지원하는 최대 주파수는 2MHz입니다. 주파수는 대상 CPU 주파수의 10배(fSWD ≤ 10fSYSCLK)를 초과하지 않아야 합니다.
6.1.3.디버그 옵션
Atmel Studio를 사용하여 Atmel AVR 장치를 디버깅할 때 프로젝트 속성의 '도구' 탭 view 몇 가지 중요한 구성 옵션이 포함되어 있습니다. 추가 설명이 필요한 옵션은 여기에 자세히 설명되어 있습니다.
목표 클럭 주파수
J를 통해 Atmel megaAVR 장치의 안정적인 디버깅을 달성하려면 대상 클록 주파수를 정확하게 설정하는 것이 중요합니다.TAG 상호 작용. 이 설정은 디버깅 중인 응용 프로그램에서 AVR 대상 장치의 최저 작동 주파수의 XNUMX/XNUMX 미만이어야 합니다. 자세한 내용은 megaAVR 특별 고려 사항을 참조하십시오.
debugWIRE 대상 장치의 디버그 세션은 대상 장치 자체에서 시간을 기록하므로 주파수 설정이 필요하지 않습니다. Atmel-ICE는 디버그 세션 시작 시 통신을 위한 올바른 전송 속도를 자동으로 선택합니다. 그러나 시끄러운 디버그 환경과 관련된 안정성 문제가 발생하는 경우 일부 도구는 debugWIRE 속도를 "권장" 설정의 일부로 강제 설정할 수 있는 가능성을 제공합니다.
AVR XMEGA 대상 장치의 디버그 세션은 장치 자체의 최대 속도(일반적으로 32MHz)까지 클럭킹될 수 있습니다.
J를 통한 AVR UC3 대상 장치의 디버그 세션TAG 인터페이스는 장치 자체의 최대 속도(33MHz로 제한됨)까지 클럭킹될 수 있습니다. 그러나 최적의 주파수는 대상 장치의 현재 SAB 클럭보다 약간 낮습니다.
aWire 인터페이스를 통한 UC3 대상 장치의 디버그 세션은 Atmel-ICE 자체에서 최적의 전송 속도로 자동 조정됩니다. 그러나 시끄러운 디버그 환경과 관련된 안정성 문제가 발생하는 경우 일부 도구는 aWire 속도를 구성 가능한 제한 아래로 강제할 수 있는 가능성을 제공합니다.
SWD 인터페이스를 통한 SAM 대상 장치의 디버그 세션은 CPU 클록의 최대 2배까지 클록할 수 있습니다(단, 최대 XNUMXMHz로 제한됨).
EEPROM 보존
디버그 세션 전에 대상을 다시 프로그래밍하는 동안 EEPROM을 지우지 않으려면 이 옵션을 선택하십시오.
외부 재설정 사용
대상 애플리케이션이 J를 비활성화하는 경우TAG 인터페이스를 사용하려면 프로그래밍 중에 외부 리셋을 로우로 당겨야 합니다. 이 옵션을 선택하면 외부 재설정을 사용할지 여부를 반복적으로 묻는 메시지가 표시되지 않습니다.
6.2 명령줄 유틸리티
Atmel Studio는 Atmel-ICE를 사용하여 대상을 프로그래밍하는 데 사용할 수 있는 atprogram이라는 명령줄 유틸리티와 함께 제공됩니다. Atmel Studio 설치 중에 “Atmel Studio 7.0. 명령 프롬프트”는 시작 메뉴의 Atmel 폴더에 생성되었습니다. 이 바로 가기를 두 번 클릭하면 명령 프롬프트가 열리고 프로그래밍 명령을 입력할 수 있습니다. 명령줄 유틸리티는 Atmel/Atmel Studio 7.0/atbackend/ 폴더의 Atmel Studio 설치 경로에 설치됩니다.
명령줄 유틸리티에 대한 추가 도움말을 보려면 다음 명령을 입력하십시오.
프로그램 –도움말
고급 디버깅 기술
7.1. Atmel AVR UC3 타겟
7.1.1. EVTI / EVTO 사용법
EVTI 및 EVTO 핀은 Atmel-ICE에서 액세스할 수 없습니다. 그러나 여전히 다른 외부 장비와 함께 사용할 수 있습니다.
EVTI는 다음과 같은 용도로 사용할 수 있습니다.
- 대상은 외부 이벤트에 대한 응답으로 강제로 실행을 중지할 수 있습니다. DC 레지스터의 EIC(Event In Control) 비트가 0b01에 기록되면 EVTI 핀의 하이에서 로우로의 전환이 중단점 조건을 생성합니다. EVTI는 한 CPU 클록 주기 동안 낮게 유지되어야 중단점이 보장됩니다. DS의 외부 중단점 비트(EXB)는 이것이 발생할 때 설정됩니다.
- 추적 동기화 메시지 생성. Atmel-ICE에서는 사용하지 않습니다. EVTO는 다음과 같은 용도로 사용할 수 있습니다.
- CPU가 디버그에 진입했음을 나타냄 DC의 EOS 비트를 0b01로 설정하면 대상 장치가 디버그 모드에 들어갈 때 EVTO 핀이 한 CPU 클록 주기 동안 로우로 풀링됩니다. 이 신호는 외부 오실로스코프의 트리거 소스로 사용할 수 있습니다.
- CPU가 중단점 또는 감시점에 도달했음을 나타냅니다. 해당 중단점/감시점 제어 레지스터에서 EOC 비트를 설정하면 중단점 또는 감시점 상태가 EVTO 핀에 표시됩니다. 이 기능을 활성화하려면 DC의 EOS 비트를 0xb10으로 설정해야 합니다. 그런 다음 EVTO 핀을 외부 오실로스코프에 연결하여 감시점을 검사할 수 있습니다.
- 트레이스 타이밍 신호 생성. Atmel-ICE에서는 사용하지 않습니다.
7.2 debugWIRE 대상
7.2.1.debugWIRE 소프트웨어 중단점
debugWIRE OCD는 Atmel megaAVR(JTAG) 강박 장애. 이는 디버깅 목적으로 사용자가 사용할 수 있는 프로그램 카운터 중단점 비교기가 없음을 의미합니다. 이러한 비교기 중 하나는 커서까지 실행 및 단계별 작업을 위해 존재하지만 추가 사용자 중단점은 하드웨어에서 지원되지 않습니다.
대신 디버거는 AVR BREAK 명령을 사용해야 합니다. 이 명령어는 FLASH에 배치할 수 있으며 실행을 위해 로드되면 AVR CPU가 중지 모드로 들어가게 합니다. 디버깅 중에 중단점을 지원하려면 디버거는 사용자가 중단점을 요청하는 지점에서 FLASH에 BREAK 명령을 삽입해야 합니다. 나중에 교체할 수 있도록 원래 명령을 캐시해야 합니다.
BREAK 명령을 한 단계씩 건너뛸 때 디버거는 프로그램 동작을 유지하기 위해 원래 캐시된 명령을 실행해야 합니다. 극단적인 경우 FLASH에서 BREAK를 제거하고 나중에 교체해야 합니다. 이러한 모든 시나리오는 중단점에서 단일 스테핑할 때 명백한 지연을 유발할 수 있으며, 목표 클럭 주파수가 매우 낮을 때 악화됩니다.
따라서 가능한 경우 다음 지침을 준수하는 것이 좋습니다.
- 디버깅하는 동안 항상 가능한 한 높은 빈도로 대상을 실행하십시오. debugWIRE 물리적 인터페이스는 대상 클록에서 클럭됩니다.
- 각각 대상에서 FLASH 페이지를 교체해야 하므로 중단점 추가 및 제거 횟수를 최소화하십시오.
- FLASH 페이지 쓰기 작업의 수를 최소화하기 위해 한 번에 적은 수의 중단점을 추가하거나 제거하십시오.
- 가능하면 이중 단어 명령에 중단점을 두지 마십시오.
릴리스 기록 및 알려진 문제
8.1 .펌웨어 출시 이력
표 8-1. 공용 펌웨어 개정
펌웨어 버전(XNUMX진수) | 날짜 |
관련 변경 사항 |
1.36 | 29.09.2016 | UPDI 인터페이스(tinyX 장치)에 대한 지원 추가 USB 끝점 크기 구성 가능 |
1.28 | 27.05.2015 | SPI 및 USART DGI 인터페이스에 대한 지원이 추가되었습니다. 향상된 SWD 속도. 사소한 버그 수정. |
1.22 | 03.10.2014 | 코드 프로파일링을 추가했습니다. J와 관련된 수정된 문제TAG 64개 이상의 명령 비트가 있는 데이지 체인. ARM 재설정 확장을 수정했습니다. 대상 전력 LED 문제를 수정했습니다. |
1.13 | 08.04.2014 | JTAG 클럭 주파수 수정. SUT가 긴 debugWIRE를 수정했습니다. 발진기 보정 명령을 수정했습니다. |
1.09 | 12.02.2014 | Atmel-ICE의 첫 번째 릴리스. |
8.2 .Atmel-ICE에 관한 알려진 문제
8.2.1.일반
- 초기 Atmel-ICE 배치에는 USB가 약했습니다. 새롭고 더 강력한 USB 커넥터로 새 개정판이 만들어졌습니다. 기계적 안정성을 개선하기 위해 이미 생산된 첫 번째 버전 장치에 임시 해결책으로 에폭시 접착제를 적용했습니다.
8.2.2. Atmel AVR XMEGA OCD 특정 문제
- ATxmegaA1 제품군의 경우 버전 G 이상만 지원됩니다.
8.2.1. Atmel AVR – 장치별 문제
- 디버그 세션 동안 ATmega32U6의 전원을 껐다 켜면 장치와의 연결이 끊어질 수 있습니다.
제품 준수
9.1. RoHS 및 WEEE
Atmel-ICE 및 모든 부속품은 RoHS 지침(2002/95/EC) 및 WEEE 지침(2002/96/EC)에 따라 제조됩니다.
9.2. CE 및 FCC
Atmel-ICE 장치는 지침의 필수 요구 사항 및 기타 관련 조항에 따라 테스트되었습니다.
- 지침 2004/108/EC(클래스 B)
- FCC 파트 15 서브파트 B
- 2002/95/EC(RoHS, WEEE)
다음 표준은 평가에 사용됩니다.
- EN 61000-6-1(2007)
- EN 61000-6-3(2007) + A1(2011)
- FCC CFR 47 파트 15(2013)
기술 구성 File 위치:
이 제품의 전자파 방출을 최소화하기 위해 모든 노력을 기울였습니다. 그러나 특정 조건에서 시스템(대상 애플리케이션 회로에 연결된 이 제품)은 위에서 언급한 표준에서 허용하는 최대값을 초과하는 개별 전자기 구성 요소 주파수를 방출할 수 있습니다. 방출의 빈도와 크기는 제품이 사용되는 대상 응용 프로그램의 레이아웃 및 라우팅을 포함하여 여러 요인에 의해 결정됩니다.
개정 내역
문서. 신부님. |
날짜 |
댓글 |
42330C | 10/2016 | UPDI 인터페이스 추가 및 펌웨어 릴리스 내역 업데이트 |
42330B | 03/2016 | • 수정된 온칩 디버깅 장 • 릴리스 내역 및 알려진 문제 장에서 펌웨어 릴리스 내역의 새로운 형식 지정 • 디버그 케이블 핀아웃 추가 |
42330A | 06/2014 | 초기 문서 릴리스 |
아트멜®, Atmel 로고 및 그 조합, 무한한 가능성 실현®, AVR®, 메가AVR®, STK®, 작은AVR®, 엑스메가®및 기타는 미국 및 기타 국가에서 Atmel Corporation의 등록 상표 또는 상표입니다. 팔®, ARM 연결® 로고, 피질®및 기타는 ARM Ltd.의 등록 상표 또는 상표입니다. Windows® 미국 및 기타 국가에서 Microsoft Corporation의 등록 상표입니다. 기타 용어 및 제품 이름은 타사의 상표일 수 있습니다.
면책 조항: 이 문서의 정보는 Atmel 제품과 관련하여 제공됩니다. 이 문서에 의해 또는 Atmel 제품 판매와 관련하여 금반언 또는 기타 방식으로 지적 재산권에 대한 명시적 또는 묵시적 라이선스가 부여되지 않습니다. ATMEL에 위치한 ATMEL 판매 약관에 명시된 경우를 제외하고 WEB사이트, ATMEL은 어떠한 책임도 지지 않으며 상품성, 특정 목적에의 적합성 또는 비침해성에 대한 묵시적 보증을 포함하되 이에 국한되지 않는 제품과 관련된 모든 명시적, 묵시적 또는 법적 보증을 부인합니다. 어떤 경우에도 ATMEL은 사용 또는 사용 불가능으로 인해 발생하는 직접적, 간접적, 결과적, 징벌적, 특수 또는 우발적 손해(손실 및 이익에 대한 손해, 영업 중단 또는 정보 손실을 포함하되 이에 제한되지 않음)에 대해 책임을 지지 않습니다. 이 문서는 ATMEL이 조언을 받은 경우에도 마찬가지입니다.
그러한 손해의 가능성에 대해. Atmel은 이 문서 내용의 정확성이나 완전성과 관련하여 어떠한 진술이나 보증도 하지 않으며 언제라도 통지 없이 사양과 제품 설명을 변경할 수 있는 권리를 보유합니다. Atmel은 여기에 포함된 정보를 업데이트하겠다고 약속하지 않습니다. 달리 명시되지 않는 한 Atmel 제품은 자동차 응용 분야에 적합하지 않으며 사용해서는 안 됩니다. Atmel 제품은 생명을 지원하거나 유지하기 위한 응용 프로그램의 구성 요소로 사용하도록 의도, 승인 또는 보증되지 않습니다.
안전에 중요한, 군사 및 자동차 응용 프로그램 면책 조항: Atmel 제품은 그러한 제품의 고장이 심각한 부상이나 사망을 초래할 것으로 합리적으로 예상되는 응용 프로그램을 위해 설계되지 않았으며 이러한 응용 프로그램과 관련하여 사용되지도 않습니다("안전에 중요한 응용 프로그램”) Atmel 담당자의 특정 서면 동의 없이. 안전에 중요한 응용 프로그램에는 생명 유지 장치 및 시스템, 핵 시설 및 무기 시스템 작동을 위한 장비 또는 시스템이 포함되지만 이에 국한되지 않습니다. Atmel 제품은 Atmel이 군용 등급으로 특별히 지정하지 않는 한 군사 또는 항공 우주 응용 프로그램이나 환경에서 사용하도록 설계되거나 의도되지 않았습니다. Atmel 제품은 Atmel이 자동차 등급으로 특별히 지정하지 않는 한 자동차 애플리케이션에 사용하도록 설계되거나 의도되지 않았습니다.
아트멜 코퍼레이션
1600 Technology Drive, San Jose, CA 95110 USA
전화: (+1)(408) 441.0311
팩스: (+1)(408) 436.4200
www.아트멜닷컴
© 2016 아트멜 코퍼레이션.
개정판: Atmel-42330C-Atmel-ICE_사용자 가이드-10년 2016월
문서 / 리소스
![]() |
Atmel Atmel-ICE 디버거 프로그래머 [PDF 파일] 사용자 가이드 Atmel-ICE 디버거 프로그래머, Atmel-ICE, 디버거 프로그래머, 프로그래머 |