USB 확정성
EZJTAG-USB
EZ-AT7
샘플프로그램 실행
EZ-AT7 조립하기

 

USB 확정성

예전에 비해 PC들이 점점 작아지고 있습니다. 물론 기술발전에 힘입은 바가 커서 이겠지만 직접적으로 영향을 주는 것은 USB가 아닌가 싶습니다. USB가 대중화가 되기 전에는 PC 구매할 때에는 기본적으로 갖추어야 하는 보드나 포트와 함께 앞으로 확장성을 위해 꼼꼼히 따져야 했습니다. PCI는 그대로 좋았죠. ISA 슬롯을 사용할 때에는 불편한 것이 한두가지가 아니었습니다.

그러나 지금은 USB로 다양하게 확장할 수 있어서 확장성에 대한 걱정은 별로 안하게 되었습니다. 요즘 나오는 프린터만 보더라도 프린터 포트를 무안하게 할 정도로 대부분이 USB 제품입니다. 제가 가지고 있는 노트북은 프린터포트만 없는 것이 아니라 시리얼 포트도 없습니다. 필용하면 시리얼포트 USB제품을 이용하라는 것이죠.

이렇게 USB덕분에 확장에 대한 걱정이 없어졌습니다. 그러나 자주는 아니지만 가끔 프린터 포트를 이용하는 JTAG케이블을 이용해서 EZ보드에 부트로더를 쓰기를 할때면 USB 제품이 없을까하는 생각이 들더군요. 물론 프린터 포트를 제공하는 USB가 있겠지만 중간에 케이블로 연결해야 하기 때문에 책상 위가 번잡해 집니다.

EZJTAG-USB

이런 말씀을 (주)FALINUX에 드렸더니 그렇지 않아도 임베디드 시스템을 개발하기 위해 프린터 포트나 시리얼포트를 사용하는 대신에 USB를 이용하는 제품을 개발 중이라고 합니다. 그러면서 소개해 주신 사이트가 있는데 바로 FSP21(http://www.fsp21.org) 입니다. 여기에 계신분들께서 이와 같은 필요와 생각으로 다시 USB제품만을 위한 사이트, EZJTAG-USB(http://www.ezjtag.org) 를 운영하고 있다고 합니다.

EZJTAG-USB(http://www.ezjtag.org)을 방문하면 처음으로 반기는 페이지의 내용이 매우 반갑습니다.

EZJTAG-USB 란?

EZJTAG-USB는 임베디드 시스템을 개발할 때 호스트PC와 임베디드 보드 사이에 일반적 인터페이스인 프린터 포트 또는 시리얼 포트를 USB 포트로 대체하기 위한 디바이스 입니다.

현재 호스트PC(데스크탑, 노트북등)에 프린트포트와 시리얼 포트가 사라지고 USB 포트가 증가되고 있습니다.

따라서 HostPC와 임베디드 보드의 인터페이스를 USB로 대체하는 디바이스인 EZJTAG-USB를 개발하게 되었습니다.

EZJTAG-USB는 호스트PC와 USB 인터페이스를 통하여 임베디드 보드의 부트로더이미지 쓰기 기능과 USB to Serial 기능을 구현하였습니다.

EZ-AT7

이와 같은 생각으로 EZ-AT7이라는 제품이 벌써 나왔습니다. EZ-AT7은 arm 칩을 이용하여 만들어진 제품으로 단순히 기능 하나만 고정해서 만들어진 것이 아니라 arm 프로그램을 다운로드해서 개발자가 원하는 기능을 직접 작성할 수 있습니다. 즉, USB제품으로 뭔가 편하게 만들어 보고 싶다라는 생각을 EZ-AT7으로 구현할 수 있다는 것이죠.

제품 정보를 보시면 EZ-AT7 용도를 자세히 알 수 있습니다.

  • AT91SAM7S256은 외부에 RAM, ROM이 필요로하지 않는 MPU로서 심플한 하드웨어로 구성되어저 있어 보다 쉽게 ARM Core를 공부할 수 있습니다.
  • ATMEL사의 특징을 살려 ISP 기능이 추가 되어있어 별도의 다운로드 툴이 없이도 USB를 이용하여 바이너리 코드를 플래쉬에 라이팅 할 수 있습니다.
  • 기존의 JTAG은 프린트 포트로만 가능하였지만 EZJTAG 관련 홈페이지(http://www.ezjtag.org)에서 제공되어지는 소스를 사용하여 저렴한 가격에 USB JTAG 을 사용할 수 있습니다.
  • 26Pin Connector, USB Client, RS232C 포트가 나와있으며 제품과 함께 제공되어지는 케이스를 조립하여 완제품으로도 사용 가능합니다.

샘플프로그램 실행

DIY제품이지만 납땜이 모두 되어 있기 때문에 바로 제품을 사용해 볼 수 있습니다. 제품이 이상이 없는지도 확인하기 위해서도 먼저 제공되는 샘플프로그램을 실행해 보겠습니다. 또한 EZ-AT7의 메모리 영역을 지우려면 보드에 있는 점퍼핀을 이용해야 하므로 조립하기 전에 사용해 보시는 것이 좋습니다.

샘플프로그램은 (주)FALINUX의 EZ-AT7 판매 페이지 하단에 다운로드 링크를 이용하여 내려 받으실 수 있습니다. 다운받은 압축 파일에는 아래와 같은 파일이 들어 있습니다.

  • ez-at7_led_flash.pdf 파일 사용을 위한 설명입니다.
  • ez-at7_led_flash 예제프로그램/
    • image/ 샘플 프로그램을 컴파일하여 만들어진 샘플 실행 이미지 파일이 들어 있습니다.
    • include/ 샘플를 소스에 포함되는 헤더파일입니다.
    • led/ 샘플 소스 파일이 들어 있습니다.
    • samba/ 이미지 파일을 EZ-AT7에 쓰기를 해주는 설치 프로그램 SAM-BA 설치파일이 들어 있습니다.
    • led_flash.bin 샘플 프로그램을 컴파일하여 만들어진 샘플 실행 이미지 파일입니다.

샘플 프로그램을 컴파일하여 만들어진 led_flash.bin 이미지 파일을 EZ-AT7으로 쓰기를 하면 이후에 EZ-AT7의 LED가 계속 점멸합니다.

또한 led_flash.bin의 소스를 제공하기 때문에 이 소스를 참고하여 원하시는 프로그램을 작성할 수 있으며, 프로그래밍에 대한 자세한 내용이나 정보는 http://www.ezjtag.org를 이용하시면 되겠습니다.

led_flash.bin을 EZ-AT7에 쓰기를 하고 실행하여 LED를 점멸하기 위해서는 쓰기 프로그램인 SAM-BA프로그램을 이용해야 하는데 아래와 같이 진행하시면 됩니다.

  1. SAM-BA 프로그램을 설치합니다.
  2. EZ-AT7을 PC에 연결합니다.
  3. 점퍼핀과 전원 스위치를 이용하여 EZ-AT7의 메모리 영역을 모두 지우기를 합니다.
    주의!!메모리 영역을 지워 주어야 Writer 프로그램인 SAM-BA 프로그램과 EZ-AT7과 연결됩니다. 즉, 이미 EZ-AT7에 프로그램 이미지 파일이 다운로드되어 있다면 SAM-BA 프로그램에서 EZ-AT7과 연결할 수 없습니다.
  4. EZ-AT7의 전원을 끄고 지우기를 위한 점퍼핀을 원래 위치로 이동합니다.
  5. 다시 EZ-AT7 전원을 켭니다.
  6. SAM-BA를 실행하고 테스트 프로그램인 led_flash.bin을 EZ-AT7에 쓰기를 합니다.
  7. EZ-AT7을 껏다가 다시 켭니다.
  8. PCB에 MO, M1이라고 쓰여 있는 LED가 점멸하는지 확인합니다.

그러면 자세한 내용을 그림과 함께 보겠습니다.

(주)FALINUX의 EZ-AT7 판매 페이지 하단에 있는 다운로드 링크를 이용하여 샘플 프로그램 파일을 내려 받습니다.

내려 받은 압축 파일을 적당한 곳에 풀어 놓습니다. 저는 E:/EZ-AT7에 풀어 놓았습니다.

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

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

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

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

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

설치를 위해 [Install] 버튼을 클릭합니다.
프로그램 파일이 설치됩니다.
설치가 완료되었습니다. [Finish] 버튼을 클릭하십시오.
설치 완료 후에는 재부팅을 합니다.

PC에 EZ-AT7을 연결합니다. 제일 먼저  보드의 메모리 영역 내용을 모두 지우겠습니다. 그림에서 처럼 점퍼핀을 ON에 연결한 후 전원 버튼을 켭니다.

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

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

USB에 전원 스위치를 넣으면 새 하드웨어 설치가 시작됩니다.

새 하드웨어 검색 마법사가 시작됩니다. [다음] 버튼을 클릭합니다.

미리 SAM-BA를 설치했기 때문에 필요한 드라이버는 설치되어 있습니다. 그러므로 소프트웨어 검색에서 "소프트웨어 자동으로 설치(권장)"을 체크하시고 [다음] 버튼을 클릭합니다.

 atm6124,Sys ATMEL AT91xxxxx Test Board 설치를 시작합니다. [계속] 버튼을 클릭합니다.
새 하드웨어 설치가 완료되었습니다. [마침] 버튼을 클릭합니다.
이제 SAM-BA 프로그램을 실행합니다. 바탕화면에 있는 SAM-BA 아이콘을 이용하시면 편리합니다.

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

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

(1)번의 [Browse] 버튼을 이용하여 샘플 프로그램 이미지 파일인 led_flash.bin 파일을 선택합니다.

파일을 선택한 후 (2) 번의 [Send File]을 선택하여 보드에 쓰기를 시작합니다.

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

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

(SAMBA-SAM-BA console display active (Tcl8.4.9 / Tk8.4.9)
(SAM-BA 1.2) 1 %
(SAM-BA 1.2) 1 % send_file FLASH:: "E:/EZ-AT7/ez-at7_led_flash 예제프로그램/led_flash.bin" "0x100000" 1
-I- Send File E:/EZ-AT7/ez-at7_led_flash 예제프로그램/led_flash.bin at address 0x100000
-I- File size = 768 byte(s)
(SAM-BA 1.2) 1 %
   <--- 쓰기완료

이제 EZ-AT7의 전원 스위치를 껐다가 켜면 PCB에 M0, M1이라고 쓰여 있는 LED가 점멸합니다.

EZ-AT7 조립하기

재밌게도 EZ-AT7은 완제품 외에도 DIY 형식으로 저렴하게 판매되는 제품도 있다는 것입니다. 요즘 물가도 높아서 많이 힘든데 DIY제품이 있다는 것이 반가웠습니다. FALINUX에 방문한 김에 바로 그 자리에서 구매했는데 처음 박스를 보았을 때 좀 황당했습니다. 와~ 그래도 상품인데 세상에~ 무광택의 일반 종이 박스였습니다. 다른 EZ보드의 화려한 박스만 보다가 이렇게 투박한 종이 박스인 것을 보고 이유를 여쭙지 않을 수 없었습니다.

역시 예상대로 DIY 제품을 구상한 만큼 조금이라도 저렴하게 제공하기 위해서 따로 디자인하거나 박스 주문을 하지 않았다고 합니다. 그렇죠. 소비자 입장에서는 가격이 저렴한 것이 최고죠. ^^ 아울러 형식에 얽메이지 않으려는 (주)FALINUX의 일면을 보는듯 해서 역시 젊은 회사라는 느낌과 함께 매우 부러웠습니다.

조립은 매우 쉬웠습니다. DIY 제품이지만 앞서 말씀드린대로 바로 데스트할 정도로 PCB의 납땜 작업이 모두 되어 있었고 구조가 단순해서 조립하는데 몇 분 걸리지 않았습니다. 제가 조립한 순서를 사진으로 담아 보았습니다.

발송 대기중이던 제품 중에서 하나 빼서 구매했습니다. 보시다시피 무광택에 일반 종이 박스이고, 박스 어느 면에도 (주)FALINUX 로고가 없습니다.

대신에 화물 수탁증만 붙어 있네요. 하하 ^^

박스를 열어 보았습니다. USB케이블에 내용물이 뽁뽁이에 여러 번 감겨서 안전하게 담겨 있었습니다.

내용물을 A4용지 위에 올려 놓고 찍은 사진입니다.

  1. EZ-AT7 케이스
  2. EZ-AT7 PCB
  3. 스위치 캡
  4. 나사
  5. 포트번호 스티커(앞면)
  6. 고무 러버
  7. FALINUX 스티커(뒷면)
  8. 전면 아크릴
  9. 5-PIN 점퍼 케이블
  10. 1-PIN 점퍼 케이블
  11. USB 케이블

AT-7을 조립해 보겠습니다. AT-7 PCB를 케이스 뒷면에 오려 놓습니다.

PCB를 놓는 방향은 케이스 뒷면에 있는 USB 홈에 맞추어 PCB의 USB 커넥터를 위치하여 놓습니다.

EZ-AT7 PCB를 케이스 뒷면에 놓은 모습입니다.
앞면 케이스를 PCB위에 올려 놓았습니다.
뒷면 케이스의 나사 구멍에 나사를 넣고 조여서 케이스를 고정합니다.
앞면 시리얼 포트의 육각 볼트를 풀어서 제거합니다.
시리얼 포트 위로 전면 아크릴을 올려 놓습니다.
시리얼 포트의 육각 볼트를 다시 조여서 고정합니다.
스위치 위에 스위치 캡을 고정합니다.

포트번호 스티커를 부착합니다. 아래 그림과 같이 스위치 쪽이 접지가 오도록 합니다.

뒷면에 FALINUX 스티커를 부착합니다.
이제 뒷면에 고무 러버를 4개의 나사 구멍에 부착하면 조립이 완료 됩니다.
조립이 완료된 모습입니다.