나의 마이크로 프로세서 이야기 - 2009/02/09 16:58

마이크로 프로세서 이야기 하나,

 

필자의 이야기를 해 보려고 한다.

1994년 겨울에 당시 8비트 컨트롤러였던 모토롤라의 M68HC11 을 가지고 씨름 했었더랬다.

키패드를 붙이고 GPIO을 이용하여 9개의 키를 입력 받는 소프트웨어를 작성하였다. 디버깅까지 마치고 나니 다음 일정 스케쥴은 리모컨을 붙여다 한단다(붙인다는 표현 많이 쓰죠? 그쵸? ^^). 리모컨 수광부 에 마이크로 컨트롤러의 INPUT CAPTURE(PWM 타이머)을 인터페이스 했다. 그리고 항상 그렇듯이 코딩, 디버깅, ㅠㅠ


  1995년 봄이 가기전에 새로운 프로젝트를 진행 한다는 소식이 들렸다.  지금도 업체에서 레퍼런스로 제공 된 회로대로 마이크로프로세서를 채택하는 경우가 흔히 볼 수 있는 광경이지만 그때 당시에도 그랬다. 어쨋든 M68340가지고 신규 프로젝트를 시작하게 되었다. M68340은 직전 사용 했던 CPU M68HC11 보다는 고사양의 칩이었다.

  전번 과제에서는 어셈블리로 진행 했었지만, 이번 과제에서는 대부분을 C/C++ 을 사용 하기로 마음 먹었다. 또한, UI 관련된 부분은 C++의 클래스(CLASS) 라는 놈을 한번 적용 해 보면 좋겠다는 생각도 했다. '앞으로는 PCI 버스도 임베디드에서 사용되니까 미리 공부 해 둬야 한다'는 얘기도 왕왕 들려 오던 때이다.

지금은 UM강좌에서 나의 경험을 바탕으로 강의도 하고 있지만 내가 마이크로프로세서를 이용해 시스템을 개발하면서 가장 많은 시간을 할애 했었고 또한 어려워 했던 것은 BUS에 대한 이해로 기억 한다.
여기서 이해라는 말의 참뜻은 기본적인 이해의 수준을 베이직 수준으로 맞춘것이 아니고, 완전하게 살아있는 나의 지식으로 함으로써 이에 어떤 응용도 가능하게 되고 또한 어떤 회로를 보고라도 즉시 이해 할 수 있는 수준의 상태를 말 함 이겠다.
개발에 착수한지 1년이 지난 후엔 M68340 데이터북은 하도 많이 봐서 이미 너덜 너덜 해져 있었다.

하지만, 현업에서 개발일을 1년 남짓 해왔고, 프로젝트도 이번까지 하면 이미 2번째인데 다른 거는 대충 다 이해가 가고 소프트웨어 구현도 직접 할 정도로 문제가 안되는데( 그로부터 10년이 지난 지금에도 당시에 접했던 기술들인 TIMER, DMA, PWM, I2C, SPI, UART 장치들은 지금도 많이 사용 되고 있다 ) 유독 이 분야 즉, 버스 인터페이스 만큼은 잡힐듯 잡힐듯 하면서도 부족한 항상 2% 정도의 아쉬움이 남아 있었다. 이것은 항상 나의 뒷덜미를 간지럽혔다. 아직도 완전하게 이해 하고 있질 못하고 있는 것 같다는 즉, 불안함이었다.

어느덧 프로젝트가 1년여에 걸쳐 개발이 종료 되고 난 후에 1997년도에 다시 동일한 프로세서(M68340)를 이용하여 새로운 프로젝트를 하나 더 할 기회가 생겼다. 이전에 보던 데이터북은 너무 더러워져서 업체에게 부탁하여 새로 한 권을 선물 받았다. 당시 웬지 좋은 선물을 받았을 때의 어린아이처럼 기뻐 했었던 것 같다.

다시금 이 책은 나의 손 때를 타기 시작하였다. (지금도 소지 하고 있다. ^^;)
놀랍게도 이 두번째의 프로젝트를 하면서 우연히 나도 모르는 사이에 부족한 2% 가 마저 채워지게 된다.

마이크로 프로세서에서 버스의 이해는 내가 가장 강조하는 (1)버스, (2)CPU, (3)인터럽트 3대 주제 중에서도 첫 손에 꼽는다. 디지탈 하드웨어 엔지니어는 말 할 것도 없고 펌웨어 엔지니어도 당연히 이에 대해서 완벽하게 알고 있어야만 한다.

왜 중요하냐구?. 디지탈 하드웨어를 설계(1) 할 수 있고, 소프트웨어외의 하드웨어 버그의 원인을 찾아(2) 낼 수 있을려면이라구 정의 하고 싶다.

펌웨어는 PC 소프트웨어와 분명한 차이가 있다는 것을 생각 해야 한다. 내가 작성 한 코드에 문제가 없어도 시스템 동작에 오류가 발생 할 수 있다. 이를 찾아내고(해결하고) 못 찾아내고는(해결하고는) 바로 이 2%에 좌우될 수도 있다.
 
-홍익컴닷컴-
http://www.hongikcom.com 

♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요->


 

Trackback Address :: http://www.hongikcom.com/trackback/16 관련글 쓰기
Name
Password
Homepage
Secret
< PREV |  1  |  ...  113  |  114  |  115  |  116  |  117  |  118  |  119  |  120  |  121  |  ...  131  |  NEXT >