2009. 5. 28. 18:18

[ARM7] H-JTAG와 Wiggler형 JTAG 인터페이스 OK-JTAG의 사용법

 ARM 개발에 있어 사용자 프로그램의 다운로드와 프로그램의 디버깅을 할 수 있게 해주는 JTAG 에뮬레이터는 수십만원에서 수백만원에 이르는 비교적 고가의 개발장비이며, 여기에 사용되는 디버거 소프트웨어가 수백만원이 하므로 아마추어들은 사용하기가 어렵다.

 이러한 이유로 좀더 저렴하고 쉽게 사용할 수 있는 Wiggler라는 저가형 간이 JTAG 인터페이스가 있는데 이를 개발한 Macraigor사(http://www.macraigor.com)는 현재 더 이상 이러한 Wiggler JTAG 인터페이스를 지원하지 않고 있어, 여러 가지의 변형된 Wiggler 호환형 제품들만이 널리 사용되고 있다.

<Wiggler 호환형 JTAG 인터페이스>

 이러한 Wiggler 호환형의 JTAG 인터페이스를 사용하려면 하드웨어뿐만 아니라 이를 구동할 수 있는 운용 소프트웨어도 무료로 쉽게 구할 수 있어야 한다. 아마추어도 쉽게 구할 수 있는 무료 소프트웨어로 H-JTAG이란 프로그램이 널리 알려져 있다.

 H-JTAG은 Wiggler 호환의 JTAG 인터페이스와 함께 사용할 수 있는 디버그 도우미(debug agent)용의 무료 소프트웨어로서 http://www.hjtag.com 사이트에서 제공하는 H-JTAG Server 및 H-Flasher 프로그램으로 구성된다.
홈페이지에 접속해서 프로그램을 설치하자.



빨간색으로 네모친 곳을 클릭하여 H-JTAG을 다운받고 설치파일을 실행하자.




약관에 동의하고 다음


설치될 경로를 지정해주고 다음



설치가 완료되었다.


H-JTAG Server 프로그램은 내부적으로 H-Flasher 프로그램과 연계하여 ARM 소자에 내장되거나 또는 외부에 확장 인터페이스된 플래쉬 메모리를 프로그래밍하는 기능을 가진다. 이를 이용하면 SAM-BA GUI프로그램을 대신하여 사용자 프로그램을 다운로드할 수 있다.


H-JTAG Server를 실행시켜보자.


현재 장치가 연결되어 있지 않으므로 UNKNOWN이라고 표시된다. JTAG 인터페이스로 PC와 ARM을 연결하자.


사진에는 잘 보이지 않지만 JTAG에 보면 선마다 GND, TDI, TDO, TCK, TMS, VCC가 써있으며 거기에 맞게 ARM의 해당핀에 연결해주면 된다.

연결해준뒤 H-JTAG Server의 Operations-Detect Target을 해주면 장치를 읽게 되고 다음과 같이 화면이 바뀌게 된다.

<ARM CORE가 감지된 모습>

다시 H-JTAG Server에서 Setting - LPT JTAG Setting(패러럴포트이면) 메뉴를 선택하여 아래의 그림과 같이 설정한다.



H-JTAG Server에서 Setting - LPT Port Setting 메뉴를 선택하여 아래 그림과 같이 설정해준다.



Setting - Target Setting 메뉴으로 가서 아래 그림과 같이 설정한다.



Option 메뉴를 선택하여 아래 그림과 같이 설정한다.


Flasher - Start H-Flasher 메뉴를 선택하여 H-Flasher프로그램을 실행하여 아래와 같이 설정해주자.


<자신의 해당하는 모델을 선택하자>

<설정을 저장한다.>



이제 사용자 프로그램을 SAM-BA가 아닌 JTAG을 이용해서 전송해보자.

H-Flasher를 살펴보면 좌측에 Programing이란 항목이 있다.


 Type에는 Hexa 파일을 전송할건지, 바이너리 파일을 전송할건지등을 결정할 수 있다. 보낼 데이터의 타입에 맞게 설정해준다.
 Dst Addr은 Flash Base Address로 설정해준다.
 Src File에는 ...을 클릭해 소스를 선택해주자. 경로를 직접 써줘도 된다.

그리고 Type 옆에 있는 Program을 클릭하면 전송을 하게 된다.

<이로서 전송완료>


SAM-BA를 이용할 경우 TST로 10초간 리셋을 시켜줘야하는 불편함이 있지만 JTAG을 이용하는 경우 바로 전송이 가능하다는 장점이 있으므로 자주 애용하자.