아트메가/기타

아트메가 디버깅하기(AVR, ATMEL ICE, JTAG)

원원 2022. 10. 5. 00:29

안녕하세요. 오늘은 아트메가128을 디버깅해보겠습니다. (JTAG)

(Microchip studio 7.0사용)

 

먼저 디버깅 제품이 필요합니다. 저는 ATMEL ICE(정품)를 구매해서 사용했습니다.

먼저 ATMEL ICE는 커넥터가 엄청 특별합니다. 

정품인 커넥터도 파는데 비싸긴 하지만 사서 쓰는 게 편합니다. 아니면 알리익스프레스 같은 곳에서 호환되는 커넥터를 사면 될 거 같습니다

 

 

저는 이중에 위의 커넥터를 사용했습니다. 커넥터에 번호가 적혀있는데 아래처럼 연결해줘야합니다. 7,8번핀은 옵션이므로 연결안해줘도 상관없습니다. TCK,TDO,TMS,TDI는 각 MCU 데이터시트에 나와있습니다

프로그램 넣는방법은 ISP와 같습니다. TOOL -> Device Programming가서 넣으면 됩니다.

 

 

 

* 정보

1) ATMEL ICE은 전원이 나오지 않으므로 ATMEL ICE커넥터 외에 아트메가에 따로 전원을 넣어줘야합니다.

USB만 연결한 경우
전원을 넣은 경우

Target power not detected. Debugger command Activate physical failed.

Unable to enter programming mode. Verify device selection, interface settings, target power, security bit, and connections to the target device.

전원을 안넣으면 위처럼 에러가 뜹니다.

 

2) JTAG 디바이스 미감지에러 

No JTAG devices detected. Debugger command Activate physical failed.

Unable to enter programming mode. Verify device selection, interface settings, target power, security bit, and connections to the target device.

위의 에러가 뜨는 경우가 있습니다..

 

 

확인사항1)

퓨즈비트에서 JTAGEN이 체크되어있어야 합니다

 

확인사항2) 전 아트메가 보드를 사용했고 데이터시트에는 빨강동그라미의 커넥터가 JTAG용도라고 적혀있었습니다.

 

회로도에는 저항이 달려있었는데 저항을 거치면 안 되고 ATMEL ICE는 포트 PF4~PF7에서 다이렉트로 연결해야 하는 거 같습니다.
위의 TCK, TMS, TDO, TDI에 연결하면 No JTAG devices 에러가 뜹니다.. 그래서 사용하는 보드의 회로를 잘 봐야 합니다.

확인사항3) Tool에서 Interface를 JTAG로 바꿔줘야합니다. 바꾸지않고 디버깅모드를 실행하면 Failed to start programming session before chip erase with eeprom preserve: Failed to enter programming mode 에러가 뜹니다


* 실제 연결모습

여기까지가 디버깅할 준비이고 디버깅은 다른 툴들과 비슷한 방식으로 break point 찍고 watch 하고 하면 됩니다.