티스토리 뷰
마이크로컨트롤러 개발지원툴
마이크로컨트롤러 개발지원툴은 MDS(microcontroller development system)라고도 하는 것으로, 마이크로컨트롤러 메이커 및 협력업체가 제공하는 각종 하드웨어 및 소프트웨어 개발 지원 시스템을 의미합니다. 이것은 매우 고가였지만, 지금은 과거에는 개발지원툴이 MDS 전용 장비로 나왔기 PC 보급에 힘입어 PC 중심의 MDS로 바뀌고 있어 매우 저렴해 졌습니다. 특히 AVR의 경우에는 다른 것과 비교가 되지 않을 정도로 MDS가 저렴합니다. 개발지원툴은 크게 소프트웨어 툴과 하드웨어 툴로 분류됩니다. 소프트웨어툴은 마이크로컨트롤러 개발지원툴 중 소프트웨어 툴이 PC상에서 운용되는 개발용 프로그램을 말합니다. 대표적인 것으로 에디터, 크로스 어셈블러, 크로스 컴파일러, 다운로더, 시뮬레이터, 에뮬레이터 등이 있습니다. 연집창 에디터는 전술한 바와 같이, 시스템 프로그램의 유틸리티 프로그램에 속하는 것으로, text를 새로 만들거나 기존의 text를 수정하는 데 사용됩니다. text란 편집된 문자 스트링을 말합니다. 그것은 프로그램으로 될 수도 있고, 데이터로 될 수도 있습니다. Q 에디터, TURBO 에디터 등이 흔히 사용되는 DOS용 에디터입니다. 윈도우용 에디터로서는 마이크로컨트롤러 메이커별로 따로 제공하고 있는데, Atmel사에서는 따로 독자 프로그램을 제공하고 있습니다. 크로스 어셈블러(cross assembler)는 어떤 컴퓨터의 어셈블리어로 작성된 원시프로그램을 별개의 다른 컴퓨터가 어셈블할 때 그 어셈블러를 의미합니다. 예컨대 AVR 어셈블리어로 작성된 프로그램을 IBM PC가 어셈블할 때 IBM PC에 들어있는 어셈블러를 크로스 어셈블러라고 합니다. 일반적으로 마이크로컨트롤러는 제한된 메모리 용량 때문에 원시프로그램을 기계어로 번역하는 어셈블러를 그 자신에 내장할 수 없습니다. 그래서 IBM PC와 같은 별개의 컴퓨터가 이를 대신해 주는데, 이 어셈블러를 크로스 어셈블러라고 하는 것입니다. AVR 로스 어셈블러에는 앞에서 언급한 AVR.EXE가 있습니다. 크로스 컴파일러(cross compiler)는 어떤 컴퓨터의 셈블 작업처럼 컴파일할 때 그 컴파일러를 컴파일러어로 작성된 원시프로그램을 별개의 다른 컴퓨터가 하는 작업을 말합니다. 일반적으로 컴파일 작업은 간단하지 않습니다. 컴파일러만 있으면 되는 것이 아니고 컴파일 과정을 배치 ATMEGAT2B 파일로 만들어야 하고, 링크 작업도 배치 파일로 만들어야 합니다. 그러나 근래에는 여러가지 환경에서 이들 작업을 어셈블러처럼 간단히 할 수 있도록 하는 것도 나와 있습니다. AVR 크로스 컴파일러에는 IAR사의 IAR, PHP Technology사의 Code Vision, Imagecraft사의 ICC, 그리 고 무상으로 제공되는 AVR GCC 등이 있습니다. 이들중 이 책에서는 앞에서 언급했듯이 IAR 써도 됩니다. IAR 컴파일러를 구입하지 못한 사람은 조금만 손봐서 AVR-GCC로 고쳐 다운로더(down loader)는 어셈블 또는 컴파일을 해서 전송 포맷화한 헥사 파일을 인서키트 에뮬레이터의 메모리 또는 타깃 시스템의 마이크로컨트롤러 프로그램 메모리에 적재시키는 프로그램입니다. S/W 끝으로 시뮬레이터(simulator)는 작성된 프로그램이 실제 칩상에서 어떻게 동작하는지를 PC상에서 모의실험하는 프로그램입니다. 모의실험한 결과는 모니터 상으로 SREG 등 각종 레지스터의 상태를 확인함으로써 알 수 있습니다. 이것은 하드웨어적인 입력 조건을 만족시키기가 어려워서 아직은 실제 상황에서처럼 모의실험하는데 한계가 있습니다. 에뮬레이터(emelator)는 바로 뒤에서 설명하는 인서키트 에뮬레이터(in-circuit emulator)로 하여금 마이크로컨트롤러처럼 동작하도록 에뮬레이션하는 프로그램입니다. 원래 에뮬레이션(emulation)은 다른 컴퓨터의 명령을 모사하는 것을 말합니다. 예컨대 PRIME 750을 쓰던 전산소가 IBM 360을 도입할 경우 PRIME 750 프로그램을 IBM 360 프로그램으로 변환해야 하는데, 변환과정 중에도 작업은 계속되어야 하므로 이 기간중에는 IBM360이 PRIME 750 명령을 에뮬레이션해서 기존의 프로그램을 변환없이 수행합니다. 마이크로컨트롤러에서는 예를들어 IBM PC가 AVR의 인서키트 에물레이터의 도움을 얻어 AVR 마이크로컨트롤러의 명령을 실행합니다. AVR 에물레이터로서는 앞에서 말한 AVR studio가 겸합니다. 그러므로 AVR studio는 AVR 시물레이션 겸 에뮬레이션 프로그램으로, AVR 통합환경 개발 프로그램입니다. 사용자가 작성한 프로그램의 소스파일을 화면에 띄우고 순차적으로 실행시키면서 어디에 잘못이 있는지를 찾아냄으로써 프로그램을 개발합니다. AVR studio를 실행시키고 "파일 불러오기"에서 목적 파일을 열면 PC에 하드웨어 에뮬레이터를 연결했는지 그렇지 않았는지에 따라 에뮬레이터 모드 또는 시뮬레이션 모드가 자동 결정됩니다. AVR studio는 실행단계가 다양합니다. step 동작, break-point 동작, 커서 위치 동작 등 다양한 디버깅 모드가 있고, 모든 레지스터, 메모리, 변수 값 등을 확인할 수 있습니다.
'정보통신 및 로봇제어시스템' 카테고리의 다른 글
I/O포트의 기능 (0) | 2021.07.05 |
---|---|
하드웨어 롤에 대해 알아보기 (0) | 2021.07.03 |
프로그램의 실행 과정 알아보기 (0) | 2021.06.29 |
프로그램 작성 순서 (0) | 2021.06.27 |
프로그래밍 언어 (0) | 2021.06.25 |