ULINK2를 고장으로 판단하기 위해서 몇 가지 테스트를 진행해 볼수 있습니다.
LED 진단
ULINK2를 모두 PC에서 제거 합니다. 그리고 아래의 항목은 사용하지 않습니다.
- USB 허브
- 2미터 이상의 USB 케이블
- 배터리로 동작하는 노트북 (전원 어뎁터에 연결해 주세요)
준비가 되었으면 USB에 ULINK2를 연결합니다. 이때 전면의 LED를 보면 빨간 LED는 계속해서 켜져 있고 RUN, COM에 있는 파란 LED는 동식에 한번 깜빡여야 합니다.
이와 같이 동작하지 않는다면
- USB 케이블을 다른것으로 교환해 봅니다.
- USB 포트를 다른곳에 테스트해봅니다.
- 다른 PC에 테스트해 봅니다. 다른 PC에 Keil 소프트웨어를 설치할 필요는 없습니다.
이상의 과정에서도 LED 문제가 계속해서 있을 경우는 ULINK2는 고장으로 판단됩니다. 더 이상의 테스트는 하지 마시고 저희에게 연락해 주시기 바랍니다. 이때의 장치 고장 코드는 U2H1
입니다. 아래의 버튼으로 고장 신고를 해주시기 바랍니다.
textbox=’부서 및 직책’ \
textbox=’시리얼번호’ \
title=’고장코드 U2H1 리포트’ \
type=’고장코드 U2H1 리포트’ \
] 고장코드 U2H1 리포트 하기 [/versatile-form]
펌웨어 문제
윈도우 장치관리자의 열어 휴먼인터페이스 장치(HID) 항목에 ULINK2가 HID 준수 장치로 인식이되는지 우선 확인합니다. HID준수장치의 ULINK2 확인은 하드웨어 ID 값의 HID\VID_C251&PID_272x
로 확인할 수 있습니다. 그리고 PID_2720
또는 PID_2722
, PID_2727
일수 있습니다.
PID | 설명 | 해결방법 |
---|---|---|
PID_2720 | ULINK2 펌웨어 버전 1.42 이하 또는 2.0 이상의 ULINK Boot 모드 | MDK-ARM V4.60, PK51 V9.50, PK166 7.50 이전 버전에서 사용할수 있습니다. |
PID_2722 | ULINK2 펌웨어 버전 2.0 이상 CMSIS-DAP Boot 모드 | MDK-ARM 4.70 이후, PK51 9.51 이후, PK166 7.51 이후 버전에서 사용할수 있습니다. |
PID_2727 | ULINK2 펌웨어가 없는 초기상태 | Option for target – Debug – Settings 를 차례로 클릭하면 자동 복구됩니다. |
Keil uVision – Target – Option for target…의 메뉴에 Debug 탭에서 아래 그림과 같이 ULINK2를 선택하고 옆의 Settings 버튼을 클릭 합니다.
이어 열리는 창에서 아래 빨간색 박스 안의 내용이 올바로 나타나지 않는 경우가 있습니다. 예를 들어 Serial No 항목이 비어있습니다.
문제 원인
Keil 제품은 보다 많은 제품을 지원하기 위해 버전의 진행에 따라 여러 추가되는 기능이 있습니다. ULINK2도 마찬 가지 입니다. 펌웨어가 탑재되어 있고 이 펌웨는 최신의 Keil 소프트웨어 제품에 의해 자동으로 업데이트가 진행되기도 합니다.
그런데 한번 업데이트된 ULINK2는 역으로 낮은 버전의 Keil 소프트웨어와 호환되지 않는 경우가 발생합니다. 이때 위 그림에서는 보이는 Serial No 등 ULINK2 정보가 사라지는 문제가 발생합니다.
문제 해결
MDK-ARM 4.60이하 버전을 사용하는 PC에서 PID_2722 장치의 ULINK2를 사용하려 할 경우 첨부된 UL2_Configure.exe
파일을 이용해서 ULINK2를 ULINK Boot로 변경하면됩니다.
ULINK2를 연결하고 아래 첨부 파일을 다운로드 받아 압축을 해제한 후 명령 프롬프트에서 다음을 명령합니다.
C:\> UL2_Configure.exe B0
또 다른 문제
Serial No등의 정보는 표시 되는데 아래 빨간색 부분의 SW Device 부분이 나타나지 않는 경우도 있습니다.
다음과 같은 방법으로 고장 유무를 확인해 볼수 있습니다.
Cortex-Mx 디바이스
- SWJ 를 선택하고 Port를 SW를 선택합니다.
- Max Clock를 다른 값으로 변경해 봅니다. (10MHz, 1MHz, 100kHz, 10kHz) 변경하면서 SW Device에 Device ID등이 나타나는지 확인 해봅니다.
- SWJ를 선택하고 Port를 JTAG을 선택합니다. 그리고 역시 Max Clock 값을 위의 방법으로 변경하면서 변화가 있는지 확인합니다.
- ULINK2를 뒷면 십자 나사를 풀어서 안의 JTAG케이블이 올바르게 연결되어 있는지 확인합니다. 빨간색 선이 핀의 1번방향에 연결되어 있는지 확인합니다.
- JTAG 케이블이 손상되지 않았는지 확인합니다.
- 만일 VCC 점퍼가 ARM에 연결되어 있다면 타켓보드의 JTAG 1번 핀에 전원이 공급되고 있는지 확인합니다.
- 만일 VCC 점퍼가 3.3V에 연결되어 있다면 타켓보드의 마이크로컨트롤러의 전원이 3.3V 인지 확인합니다.
- VCC 점퍼를 바꿔가면서 위 과정의 1, 2, 3를 해봅니다.
위 과정에도 문제가 해결되지 않으면 하드웨어 고장으로 판단됩니다. 구입처에 연락하시기 바랍니다.
ARM7, ARM9 디바이스
- Use nTRST의 선택을 해제합니다. 그리고 Max Clock를 RTCK, 10MHz 1MHz, 100kHz, 10kHz 등으로 변경해서 Device ID가 JTAG Device Chain에 나타나는지 확인합니다.
- ULINK2를 뒷면 십자 나사를 풀어서 안의 JTAG케이블이 올바르게 연결되어 있는지 확인합니다. 빨간색 선이 핀의 1번방향에 연결되어 있는지 확인합니다.
- JTAG 케이블이 손상되지 않았는지 확인합니다.
- 만일 VCC 점퍼가 ARM에 연결되어 있다면 타켓보드의 JTAG 1번 핀에 전원이 공급되고 있는지 확인합니다.
- 만일 VCC 점퍼가 3.3V에 연결되어 있다면 타켓보드의 마이크로컨트롤러의 전원이 3.3V 인지 확인합니다.
- VCC 점퍼를 바꿔가면서 위 과정의 1, 2 를 해봅니다.
위 과정에도 문제가 해결되지 않으면 고장으로 판단됩니다. 구입처에 연락하시기 바랍니다.
kimrlarkd2 says
안녕하세요 질문드릴게 있어서 글을 남깁니다.
지금 e-ink e-paper display를 편집하기 위해 stm32 보드와 ulink2를 연결하고
keil 사이트에서 keil uvision5 (c51)을 설치하여 실행했으나 디버거(ulink2)를 인식하지않고 있습니다.
이 사이트에서 보니 펌웨어 문제(ULINK2 펌웨어 버전 1.42 이하)로
“MDK-ARM V4.60, PK51 V9.50, PK166 7.50 이전 버전에서 사용할수 있습니다.”
라고 나왔는데
keil 사이트에서는 최신버전만 다운이 가능하고 이전버전은 아무리 찾아도 없습니다.
혹시 이전 버전을 어디서 다운 받을 수 있는지 혹은 다른 해결방법이 있는지 알려주실 수 있을까요?
John says
안녕하세요,
keil.com/install에 접속하시면 가지고 계신 PSN 이나 LIC 코드로 다운로드 가능한 모든 버전을 리스트업 할수 있습니다.
PSN이나 LIC가 없으시면 저희가 가지고있는 사본을 공유해 드리겠습니다. `고객지원 > 문의하기 > 기술지원 요청하기`를 이용해 주세요.
감사합니다.