본문 바로가기
MISC.

마이크로프로세서 개발과 JTAG 장비

by irmus 2008. 7. 23.
요 며칠간 접한 몇건의 이야기들 중 JTAG관련된 이야기들을 들으며 느낀 것이다.

결론부터 이야기하자면 JTAG 한번 써보세요. 정말 좋아요. 임...

JTAG이란 무엇인가? 기술적인 설명은 다른곳에 많이 있으니 찾아보시고...한마디로 요약하면 하드웨어 디버깅 장비다. PC에서 Visual Studio를 이용해서 디버깅해 본적 있다면 step-by-step으로 소스코드를 따라가며 실행시키고, 변수나 레지스터, 메모리 값등을 살펴볼 수 있고, 소스코드의 원하는 장소에 break point를 설정하는 등의 작업을 해 봤을 것이다. JTAG은 이런 디버깅 작업을 PC가 아닌 마이크로프로세서에서도 할 수 있도록 해 주는 하드웨어 장치인 것이다. 물론 마이크로프로세서에 키보드와 모니터가 달려 있을리 만무하니, 마이크로프로세서와 PC를 연결해서 모니터와 키보드로 디버깅을 할 수 있도록 해 주는 장치 쯤으로 이해하면 비슷할듯...

여기서 잠깐, "난 생초보예요, 디버깅이 뭔지도 몰라요"라고 말하는 사람에게는 이런 말을 들려드리고 싶다. "기본부터 익히세요. 당신은 이 글을 읽을 상황이 아닙니다." 프로그래밍을 모르는 사람이 마이크로프로세서 프로그래밍을 할 수 있을까요? 기본기 중요합니다~ PC에서 먼저 프로그래밍을 익히세요.


아직까지 가슴속에 와 닿지 않는 분들을 위해 간단한 비유를 해 보자.
요즘 자동차에 네비게이션 많이들 달려있다. 잘 모르는 길도 네비 안내만 따라가면 해메지 않고 편하게 갈 수 있는 운전 도우미 네비게이션. 말 그대로 도우미이니 있으면 좋고, 없어도 큰 문제는 안된다. 그냥 가끔 좀 답답할 뿐.
그런데 외국으로 출장가서 운전을 해야 한다면? 이제 상황이 달라져서 네비는 필수품이 되 버린다. 내가 그동네를 알 턱이 없는데, 네비없으면 종이 지도 펼쳐놓고 나침반 들고 해메다 미아되기 딱 좋다. 와중에 말도 잘 안통하는 동네 아닌가...


이처럼 JTAG은 도우미 역할을 한다. 만약 내가 잘 알고 많이 다뤄 본 마이크로프로세서라면 솔찍히 JTAG 없어도 그럭저럭 할만하다. 가끔 답답한 정도일 뿐. 하지만 생판 처음 만지는 새로운 마이크로프로세서라면 JTAG 장비 하나쯤 마련할 것을 강력 추천하는 바이다. 예전에는 JTAG 장비 하나에 수백만원~천만원까지 했었기 때문에 감히 엄두도 못냈었지만 요즘은 몇만원정도의 저렴한 장비도 많이 있다.

예전에 네비가 없던 시절에도 지도 한장 펼쳐들고 잘 찾아 다녔었다. 물론 지금도 가능하다. 지도만 잘 본다면 말이지... 그치만 마이크로프로세서의 세계에서의 지도는 한장이 아니라 수백페이지의 "영어"로 가득찬 레퍼런스 메뉴얼이라는 것이 문제일 뿐...