본문 바로가기

무언가 만들기 위한 지식/ARM Processor

JTAG && UART

JTAG [Joint Test Action Group]의 약자로 임베디드 시스템 개발시 디버깅하기 위한 장비이다.
또, JTAG은 임베디드 시스템을 개발하기 위해 통합한 회로로 사용되는 IEEE 1149.1의 일반적인 이름이지만,
보통 디버거를 가리킨다.
하드웨어상 발생하는 인터럽트나 시그널을 발생 및 조작하며 세세한 디버깅이 가능해진다.
다른용도로는 임베디드 시스템의 ROM(NOR Flash일 경우 등), NAND Flash등의 내용을 기록하거나 읽어 낼 수 있다.
JTAG Port와 Cable을 이용하여 JTAG장비를 타켓시스템과 호스트시스템과 연결한후, 디버깅 및 레지스터값을 실시간으로 스텝단위로 실행 및 알아낼 수 있다.


위 타젯보드의 위 가운데 하늘색 선이 JTAG Port이다.

사진에서 하얀색 사각형의 장비, JTAG Cable로 연결된 장비가 TRACE32이다.
제공되는 기능이 워낙많아 자주 사용해보지 않으면, 그냥 Memory에 Download 기능만 수행하는 애물단지로 변신한다.
몇 천만원정도의 비싼 장비인데, 그 이유는 역시 하드웨어 런타입 Debugging이 가능하기 때문이라고 한다.

UART (Universal Asynchronous Receiver/Transmitter-범용비동기화 송수신기)는 컴퓨터에 부착된 직렬장치들로 향하는 인터페이스를 제어하는 프로그램이 들어 있는 마이크로칩이다.
UART는 컴퓨터에게
RS-232C DTE인터페이스를 제공함으로써, 모뎀이나 기타 다른 직렬장치들과 통신하거나 데이터를 주고받을 수 있게 한다. 이 인터페이스의 일부로서, UART는 또한 다음과 같은 일을 수행한다.

Serial 케이블을 이용해 호스트시스템과 연결하며, 연결된 통신내용은 콘솔창을 통해 확인이 가능하다.
즉 타겟 시스템의 다운로드된 프로그램이 잘돌아가는지 호스트시스템에서 확인이 가능하다.
이때 호스트 시스템상에서 마우스와 키보드 인터럽트를 캐치할 수 있다.
진보된 UART들은 일정량의 데이터 버퍼링을 제공함으로써, 컴퓨터와 직렬 장치들의 데이터 스트림이 대등하도록 맞추어준다. 즉 컴퓨터의 동작속도를 장치의 속도와 동등하게 맞추도록 요구하는 장치를 관리할 수 있다.


위의 처음 사진에서 타겟보드의 우측 상단의 케이블이 RS232 Serial Port이다. 이 포트를 이용하여 UART 통신이 가능해진다.

'무언가 만들기 위한 지식 > ARM Processor' 카테고리의 다른 글

ARM Processor의 7개 동작 Mode  (0) 2010.02.24
Boot Loader(Boot Code+CRT Start up Code)  (0) 2010.02.22
Embedded(내장형) System  (2) 2010.02.20
SOC(System On Chip)  (0) 2010.02.20
DMA와 MMU  (0) 2010.02.20