USB를 이용한 JTAG 제품의 필요성
EZ-AT7은 USB용 JTAG?
필요 프로그램과 설명서 구하기
EZ-AT7에 JTAG 프로그램 전송
타겟보드에 부트로더 이미지 전송

최근에 EZ-AT7 제품이 나왔습니다. 이미 사용기에 소개해 드렸습니다만 이번 시간에는 EZ-AT7을 JTAG 케이블로 이용하는 방법에 대해 말씀 드리려 합니다. 즉, EZ-AT7을 이용하여 타겟보드에 부트로더 이미지 파일을 전송하고 타켓보드를 부팅해 보겠습니다. 설명에 사용하는 보드는 EZ-S3C2440을 이용하겠습니다.

USB를 이용한 JTAG 제품의 필요성

타겟보드로 부트로더 이미지 파일을 전송하기 위해서는 프린터 포트를 사용하는 JTAG 케이블을 이용해야 합니다. 이렇게 JTAG 케이블이 있고, 프린터 포트를 이용하면 되는 것을 굳이 USB를 이용해야 하나 하는 이유는 길게 설명을 드릴 필요가 없을 것입니다.

무엇 보다도 편하기 때문이지만, 요즘은 노트북 뿐만 아니라 데스크탑 PC 에도 프린터 포트가 사라지고 있습니다. 즉, 병렬 포트가 없는 제품이 많아진 요즘, 부트로더 때문에 병렬 포트를 추가하여 설치하시는 것 보다는 이미 있는 USB포트를 이용하시는 것이 더 간편하고 편리할 것입니다. 또한 USB를 이용하면 JTAG케이블을 사용했을 때 보다 더 빠르고 안전하게 부트로더 이미지를 타겟보드에 전송할 수 있습니다.

EZ-AT7은 USB용 JTAG?

실은 EZ-AT7은 JTAG 장비가 아닙니다. EZ-AT7은 프로그래밍이 가능한 범용 USB 장치라고 말씀드릴 수 있겠습니다. 즉, EZ-AT7에 JTAG로 작동할 수 있도록 프로그램을 넣어서 기존의 JTAG 케이블 열활을 하도록 할 수 있으며, PC에서 호스트 프로그램을 실행하면 타겟보드에 부트로더 이미지 파일을 전송하여 쓰기를 할 수 있습니다.

그러므로 이번 글은 EZ-AT7을 활용하는 훌륭한 방법 중에 하나의 예가 되겠지만 저에게는 JTAG 케이블 대안으로 사용할 수 있다는 점만으로도 매우 만족합니다. 그러나 이 말씀을 드리는 이유는 혹여 EZ-AT7을 USB용 JTAG 장비로만 오해하실까해서 말씀을 드렸습니다.

필요 프로그램과 설명서 구하기

EZJTAG-USB에 이미 (주)FALINUX에서 자세한 설명 글이 올라와 있네요.

EZ-AT7을 EZ-JTAG으로 사용하기

(주)FALINUX에 자주 찾아 가는 덕에 미리 프로그램을 구해서 사용해 보았기 때문에 얼른 사용기를 올리려 했는데 늦고 말았습니다. 그러나 사진까지 찍어 놓았기 때문에 포기하지 않고 저만의 방법으로 글을 작성하여 올리겠습니다. ^^;

EZ-AT7을 EZ-JTAG으로 사용하기 글에 등록된 첨부 파일을 (주)FALINUX에 동의를 얻어서 본 글에도 첨부했습니다. 이 문서의 하단에 보시면 ezjtag.zip 파일이 있습니다. 이 파일을 적당한 곳에 내려 받아 압축 풀기를 하십시오.

ezjtag.zip 파일에는 아래와 같은 파일과 폴더로 구성되어 있습니다.

  • image/ezload_usb
    • ezload_usb.bin // EZ-AT7에 쓰기를 해야할 일종의 부트로더 파일입니다.
  • fsp_ezjtag_flash
    • fsp_ezjtag_flash.exe // 부트로더 쓰기 프로그램입니다.
    • /ezmodule // EZ 보드별로 준비된 제품 관련 파일입니다.
  • samba
    // EZ-AT7은 USB를 어떻게 활용하느냐에 따라 Arm 프로그램을 작성하여 실행할 수 있습니다.
    // samba 폴더에 있는 SAM-BA 프로그램은 EZ-AT7에 Arm 프로그램을 전송하여 쓰기를 할 수 있는
    // writer 프로그램입니다.
  • CP2102_USBtoSERIAL_Driver_Files_EZJTAG-USB적용모델
    // EZ-AT7에 ezload_usb.bin 파일을 전송하여 쓰기를 하면
    // fsp_ezjtag_flash 프로그램에서 사용할 장치로 등록됩니다.
    // 새 하드웨어 검색으로 장치를 등록하기 위한 드라이브 파일입니다.

EZ-AT7에 JTAG 프로그램 전송

EZ-AT7을 JTAG으로 이용하기 위해서는 JTAG로 작동할 수 있도록 프로그램을 프로그램 롬을 굽듯이 EZ-AT7에 전송하여 쓰기를 해야 합니다. 전송할 파링릉 앞서 ezjtag.zip의 내용 설명에 언급드렸던 ezload_usb.bin이 되겠습니다.

EZ-AT7에 프로그램을 전송하여 쓰기를 하기 위해서는 먼저 공 CD를 지우듯이, 롬을 지우듯이 내용을 지워햐 합니다. 이렇게 하기 위해서는 EZ-AT7을 분해 하십시오.

분해 하신 후 PC에 EZ-AT7을 연결합니다. 보드의 메모리 영역을 지우기 위해서 그림에서 처럼 점퍼핀을 ON에 연결한 후 전원 버튼을 눌러 켭니다.

10초후에 전원을 끄고 점퍼핀을 원래의 위치로 이동합니다.

그리고 전원 스위치를 켭니다.

SAM-BA 프로그램을 설치합니다.

samba 폴더에 있는 SAM-BA.exe 를 실행하여 프로그램을 설치 시작합니다.

설치가 완료되면 재부팅하므로 유의하세요. 로고 화면에서 [Next] 버튼을 클릭합니다.

SAM-BA v1.2를 설치한다는 메시지입니다. [Next] 버튼을 클릭합니다.
라이센스 동의를 선택하시고 [Next] 버튼을 클릭하십시오.

설치 경로를 선택합니다. 다른 곳에 설치하시려면 [Change] 버튼을 클릭하십시오.

설치를 계속하기 위해 [Next] 버튼을 클릭합니다.

설치를 위해 [Install] 버튼을 클릭합니다.
프로그램 파일이 설치됩니다.
설치가 완료되었습니다. [Finish] 버튼을 클릭하십시오.
설치 완료 후에는 재부팅을 합니다.
SAM-BA 프로그램으로 AT7에 프로그램을 전송합니다.
이제 SAM-BA 프로그램을 실행합니다. 바탕화면에 있는 SAM-BA 아이콘을 이용하시면 편리합니다.

Choose your board에서 보드에 있는 arm 칩을 선택해 주면 됩니다. 보드를 보시면 칩에 모델번호가 있습니다.

이 번호에 맞추어 선택해 줍니다.

Send File Name에서 [Browse] 버튼을 이용하여 ezload_ub.bin 파일을 선택하여 입력합니다.

파일을 선택했다면 [Send File]을 선택하여 AT7 쓰기를 시작합니다.

보드에 쓰기 중에 두 번 질문 대화상자가 출력됩니다. 모두 [Yes] 버튼을 클릭합니다.

쓰기는 금방 끝이 납니다. 왼쪽 그림에서 처럼 File size와 함께 프롬프트인 (SAM-BA 1.2) 1 % 가 출력되면 쓰기가 완료된 것입니다.

SAM-BA console display active (Tcl8.4.9 / Tk8.4.9)
(SAM-BA 1.2) 1 %
(SAM-BA 1.2) 1 % send_file FLASH:: "D:/package/ezload_usb/ezload_usb
.bin" "0x100000" 1
-I- Send File D:/package/ezload_usb/ezload_usb
.bin at address 0x100000
-I- File size = 18168 byte(s)
(SAM-BA 1.2) 1 %
   <--- 쓰기완료

EZ-AT7에 쓰기 작업이 완료되었습니다. SAM-BA 프로그램을 종료합니다. 다른 용도로 사용하기 전까지는 다시 쓰기 작업을 하실 필요가 없습니다. 그러므로 EZ-AT7을 다시 조립하셔도 좋습니다.

EZ-AT7 전원을 껐다가 다시 켜면 Microsoft Windows는 EZ-AT7을 새로운 하드웨어로 인식하며, 시스템에 장치를 등록하기 위해 "새 하드웨어 검색 마법사 시작" 대화상자가 출력됩니다.

옵션에서 "아니오, 지그 연결 안 함"을 선택하신 후 다음 버튼을 클릭합니다.

"검색할 때 다음 위치 포함"을 체크하시고 "찾아보기" 버튼을 클릭하십시오.

"CP2102_USBtoSERIAL_Driver
_Files_EZJTAG-USB적용모델" 폴더를 선택한 후 "확인"버튼을 클릭합니다.

장치를 설치한 후에 다시 "새 하드웨어 검색 마법사 시작" 대화상자가 출력되면 역시 같은 방법으로 "CP2102_USBtoSERIAL_Driver_Files
_EZJTAG-USB적용모델" 폴더를 선택한 후 "확인"버튼을 클릭하여 설치를 완료하십시오.

타겟보드에 부트로더 이미지 전송

EZ-AT7 준비는 이미지 파일을 전송하는 것 만으로 완료되었습니다. 이제 파일을 전송 프로그램을 이용하여 타겟보드에 이미지 파일을 전송해 보겠습니다.

제일 먼저 EA-AT7과 타겟보드를 연결해야 겠습니다. 제품의 안전을 위해 타겟보드와 AT7의 전원을 끈 상태에서 케이블을 연결합니다.

제품과 함께 동봉된 케이블을 잃어 버려서 한 줄씩 연결한 모습입니다.

케이블 연결하는 방법을 이미지로 확대하여 그려 보았습니다.

fsp_ezjtg.flash.exe를 실행합니다.

fsp_ezjtg.flash.exe 가 실행된 모습입니다.

제일 먼저 타겟보드에 맞추어 ET-AT7에 필요한 파일을 전송해야 합니다. [모듈 선택] 버튼을 클릭하십시오.

모듈 목록에서 타겟보드를 선택한 후 [쓰기] 버튼을 클릭합니다.

모듈을 선택했다면 이제 타겟보드로 전송할 부트로더 이미지 파일을 선택합니다.

[파일찾기] 버튼을 클릭하시고 이미지 파일을 선택하십시오.

이미지 파일을 선택한 후에 [쓰기] 버튼을 클릭하여 타겟보드로 쓰기를 실행합니다.
EZ-FLASh 프로그램에서 타겟보드로 부트로더 이미지를 전송하는 모습입니다.
진행도가 100%에 별다른 에러 문자열 없이 쓰기가 완료되었다면 작업이 완료된 것입니다.

이제 타겟보드 전원을 off 하신 후, AT7과 연결된 케이블을 제거하신 후, 부팅해 보십시오.

그림과 같이 정상적으로 부팅하시면 부트로더 쓰기에 성공하신 것입니다.