2011년 8월 22일 월요일

robot] 모니터 프로그램 이란?

첫 강의는 모니터프로그램의 필요성이랄까 이런게 왜 필요한지 이야기 해볼께요. 모니터프로그램이라고 해서 컴퓨터 모니터를 어떻게 프로그램할까 고민하시는 분들은 없겠지요? ^^ 그런 방법있으면 저에게도 알려주심 고맙겠네요.
마이컴 보드를 조립하고 전원을 넣어 봐야 아무것도 하지 않지요?
왜 그렇죠? 프로그램이 필요한거지요.
프로그램은 어떻게 넣어야 될까요? 문제는 여기서 부터 출발을 하게 되요.
우리가 프로그램은 PC에서 작성을 하지요. C로 짜던 어셈으로 짜던 PC에서 컴파일 또는 어셈블 한 결과를 PC에서 실행시킬 수는 없잖아요?
당근...타겟 즉 여러분이 만든 보드에 보내야 되는데요...
어떤 방법들이 있을까요?

프로그램이 롬에 있어야 한다는 정도는 알고 있지요?
가장 무식한 방법 하나...
일일이 롬에 프로그램을 해서 디버깅을 하는 방법이 있지요. 일명 노가다의 극치랄까? 글구 롬을 라이팅 하려면 (롬을 라이팅 하는 것을 소위 롬을 굽는다고 하지요. 재미있는 표현이지요. 아마 예전엔 라이팅하면 롬이 뜨거워졌나봐요. 지금은 그런일은 없지만...) 롬라이터 또는 프로그래머라는 장비가 필요합니다. 당연 돈이 좀 들겠지요. 가장 싼것이 한 40만원정도 하네요. 쓸만한 놈은 100만원이 넘어가구요. 개인적으론 좀 째지요...글구 넘 불편하구요. 어떻게 일일이 롬을 굽겠어요. 뺐다가 끼웠다가 영..스마트한 방법은 아니네요..
일단 이 방법은 쓰지 말구요.

다음으로 생각해 볼 수 있는 방법이 롬에뮬레이터라는 장비가 있어요.
물론 돈주고 사야합니다만 롬대신 이 장비를 꽂으면 프로그램을 짜서 이 놈한테 보내면 되구요. 매번 라이팅 하는 번거러움은 없지요. 롬에뮬레이터를 사용하면 불편한게 로봇처럼 타겟이 돌아다닌다면 케이블을 끌고 다니지 못하니깐 불편하고요. 가격적인 부담이 있지요. 능역이 되면 자작해서 사용할 수도 있지만요.

가장 좋은 방법은 인서킷디버거를 사용하는 거지요. 비싼것은 수천만원씩 하지만 가장 본격적인 프로그램 개발이 가능하네요. 저도 개인적으로 이 장비를 써서 개발해 본적은 별로 없지만요.
마이컴을 빼고 이 장비를 꽂으면 되구요. 프로그램을 타겟에 보내는것은 물로이고 변수값 참조, 한명령씩 스텝실행, 원하는곳에서 브레이크 설정등이 가능합니다. 돈이 덤빈다면 가장 좋은 방법이지만 그림의 떡이죠.

그럼...과연 우린 무슨 방법을 써야 되는가?
그 해답이 바로 모니터프로그램(monitor program)을 사용하는 것이지요.
모니터프로그램이라고 하는 프로그램을 짜서 일단 롬에 한번 라이팅을 합니다.
이 놈의 역할은 하드웨어 초기화후 시리얼 포트를 통해 PC에서 보내주는 파일을 받아서 램에 깔아주는 역할을 하지요. 다른 기능도 있지만 가장 중요한 임무가 바로 이것입니다.

PC에서 결과 파일로 만든 파일의 확장명은 exe가 아니라 bin또는 hex 입니다.
이건 나중에 파일 형식에 관해서 얘기할때가 있을것이고 일단은 통과!
bin 또는 hex 파일을 타겟에 보내면 되구요..거기서 실행을 시켜야지요.

타겟의 파워를 넣으면 모니터프로그램이 실행이 되겠지요.
그럼 PC에서 bin이나 hex를 보내면 받아주면 되는것죠. 마이컴에는 대부분 시리얼포트가 있고 PC쪽에는 컴포트라고 하는 직렬포트가 있으니깐 통신엔 문제가 없지요.

결론적으로 모니터프로그램은 바로 결과 파일을 타겟에 보내는 가장 저렴한 개발 툴이라는 결론 이네요.

물론 모니터프로그램의 부가적인 기능으로 메모리 내용을 확인해 보고 수정한다던지 내부 레지스터를 확인,수정한다던지, 원하는 번지에서 실행을 해보는 기능들이 있지만 제1의 임무는 hex나 bin 파일 받아주기 입니다.

그러니까 롬은 한번 모니터프로그램을 라이팅해야 하구요. 램에서 프로그램을 수행후 문제가 없으면 롬에 다시 구면 되겠지요. 물론 이때는 모니터프로그램은 사라지겠지요.

왜 모니터 프로그램이 필요한지 아시겠지요? 돈 없고 빽없는 우울한 인간들이 사용하는 IMF형 개발 툴이라고 할 수 있지요.^^

다음엔 PC와 시리얼 통신을 하기 위한 준비 과정을 할까요? 아님 다른것을 하던지...그건 네 마음이니깐...크크...

*자료출처 : http://elsome.com/ (윤지녕 님)

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...