Top

[닷넷 마이크로 프레임워크를 활용한]
임베디드 마이크로컨트롤러 프로그래밍

  • 원서명Expert .NET Micro Framework (ISBN 9781590599730)
  • 지은이젠스 퀴너
  • 옮긴이디오이즈
  • ISBN : 9788960770928
  • 35,000원
  • 2009년 07월 31일 펴냄
  • 페이퍼백 | 588쪽 | 188*250mm
  • 시리즈 : 임베디드 시스템

책 소개

닷넷 마이크로 프레임워크를 활용하면 비주얼 스튜디오와 C# 언어로 하드웨어 자원이 부족하고 규모가 작은 디바이스 상에서 가볍고 빠른 임베디드 시스템 애플리케이션을 개발할 수 있다. 실용적인 샘플 예제가 가득한 실전 프로젝트 개발서.


[ 책 소개 ]

마이크로소프트의 닷넷 마이크로 프레임워크는 윈도우 CE와 닷넷 컴팩트 프레임워크용으로 리소스가 제한된 소형 임베디드 디바이스에서 관리형 코드를 실행하는 데 사용되는 런타임 환경이다.

이 책은 닷넷 마이크로 프레임워크와 관련 툴에 대한 소개로 시작해서 사용 가능한 디바이스를 소개하고 기본 클래스 라이브러리 전체를 설명한다. 그런 다음에는 관리형 드라이버를 사용해서 하드웨어 컴포넌트에 접근하는 방법과 DPWS(Device Profile for Web Services)로 디바이스상의 웹서비스를 사용하고 제공하는 방법을 설명한 후 풍부한 GUI를 이용해서 애플리케이션을 작성하는 방법을 알려준다. 이 책에서는 실용적이면서 응용해서 사용할 수 있는 샘플과 팁을 많이 다루고 있으므로 프로젝트를 새로 생성하는 데 도움이 될 것이다.

닷넷 마이크로 프레임워크 소개
마이크로소프트의 닷넷 마이크로 프레임워크는 작고 효율적인 닷넷 런타임 환경으로,윈도우CE와 닷넷 컴팩트 프레임워크를 구동하기에는 하드웨어 자원이 부족하고 규모가 매우 작은 디바이스상에서 관리형 코드(managed code)를 실행하는 데 사용된다.

닷넷 마이크로 프레임워크 특징
닷넷 마이크로 프레임워크는 지금까지 나온 제품 중 가장 규모가 작으며, 닷넷 프레임워크와 닷넷 컴팩트 프레임워크 기능의 일부만 제공한다. 윈도우 CE는 관리형 코드와 닷넷 컴팩트 프레임워크를 지원하지만 적어도 12MB의 램을 필요로 하는 반면, 하드웨어에서 바로 실행되는 닷넷 마이크로 프레임워크는 겨우 300KB 정도의 램만 필요하다. 닷넷 마이크로 프레임워크는 32비트 프로세서를 필요로 한다. 닷넷 마이크로 프레임워크는 MMU가 필요 없어 윈도우 CE용보다 저렴한 프로세서에서 실행할 수 있다.

장점
■ (다른 임베디드 플랫폼에 비해) 저렴한 개발 비용
■ (다른 임베디드 플랫폼에 비해) 빠른 시장 출시 가능성
■ (다른 관리형 플랫폼에 비해) 저렴한 하드웨어 비용
■ (다른 관리형 플랫폼에 비해) 작은 하드웨어 사이즈
■ (다른 관리형 플랫폼에 비해) 낮은 전력 소비량
■ 특정 칩셋이나 보드 벤더에게 한정되지 않는 일반성
■ 마이크로소프트의 중요 임베디드 전략


닷넷 마이크로 프레임워크 버전과 개발환경

닷넷 마이프로 프레임워크가 제공하는 기능과 특징을 이해하는 데 가장 효과적인 방법은 책에서 설명하는 예제를 직접 실행해 보는 것이다. 닷넷 마이크로 프레임워크 기반의 임베디드 소프트웨어 개발은 다음 준비사항이 필요하다.

■ 비주얼 스튜디오
■ 닷넷 마이크로 프레임워크 SDK
■ 닷넷 마이크로 프레임워크가 포팅된 타겟 플랫폼

이 중 타겟 플랫폼은 당장 필요하지는 않다. 닷넷 마이크로 프레임워크 SDK에 기본적으로 포함된 에뮬레이터가 당장은 타겟 플랫폼 역할을 대신할 수 있기 때문이다. 따라서 이 책에서 설명하는 닷넷 마이크로 프레임워크 기능을 알아보고 관련 예제를 실행해 보는 데는 비주얼 스튜디오와 닷넷 마이크로 프레임워크 SDK 두 가지면 충분하다. 물론 어느 정도 단계에 이르면 타겟 플랫폼이 필요할 때가 온다.

이 책에서 다루는 닷넷 마이크로 프레임워크 버전은 2.5이다. 이 버전의 닷넷 마이크로 프레임워크용 개발 툴로는 비주얼 스튜디오 2005 프로페셔널 에디션이 필요하다. 여러분이 이미 비주얼 스튜디오 2005 프로페셔널 에디션을 사용하고 있다면 그 상태에서 닷넷 마이크로 프레임워크 버전 2.5용 SDK만 설치하면 되겠지만, 그렇지 않다면 먼저 비주얼 스튜디오 2005 프로페셔널 에디션을 설치해야 한다. 비주얼 스튜디오 2005 프로페셔널 에디션(평가판을 포함)을 구해서 설치하는 것은 독자 개개인의 몫으로 남겨둔다.

앞에서 설명했듯이 이 책은 닷넷 마이크로 프레임워크 버전 2.5를 기반으로 쓰였으며 관련 예제도 2.5를 기반으로 한다. 책에 소개된 프로젝트를 실행하기 위해 다음 사이트에서 닷넷 마이크로 프레임워크 SDK 버전 2.5를 내려 받아 사용할 수 있다.
http://www.microsoft.com/downloads/details.aspx?FamilyId=EB0EF2A6-03E2-402C-89A4-A636BD0080C5&displaylang=en

저자/역자 소개

[ 지은이 소개 ]

젠스 퀴너
독일에 있는 금속 탐지기와 철 탐지기를 개발, 제조하는 회사인 Vallon GmbH의 소프트웨어 엔지니어로 일하며 닷넷 프레임워크와 닷넷 컴팩트 프레임워크를 사용해서 데이터를 입수하고 평가하는 소프트웨어를 제작했다. 이 소프트웨어는 탐지기의 하드웨어에 탑재되는 것으로서 업무와 연관되어 임베디드 시스템에 대한 관심이 높다.
MEDC 유럽에서 닷넷 마이크로 프레임워크가 소개된 이후, 초창기부터 닷넷 마이크로 프레임워크에 관여해 왔으며, 그 이후로는 활동적인 베타 테스터이자 닷넷 마이크로 프레임워크 포럼의 정식 공헌자로 활동해 왔다.
http://bloggingabout.net/blogs/jens에서 그의 블로그를 볼 수 있다.


[ 기술 감수자 소개 ]

파비오 클라우디오 페라치아티
마이크로소프트 기술을 사용하는 고급 컨설턴트이자 분석가/개발자로서 브레인 포스 (http://www.brainforce.com) 이탈리아 지사(http://www.brainforce.it)에서 일한다. 마이크로소프트에서 인증 받은 닷넷용 솔루션 개발자이자 애플리케이션 개발자, 전문가인데다가 수많은 책의 저술과 기술 감수를 맡아왔다. 지난 10년간 이탈리아와 국제 잡지에 논설을 게재해 왔으며, 다양한 컴퓨터 분야의 토픽에 대해 10권 이상의 책을 공저했다. http://www.ferracchiati.com에서 그의 LINQ 블로그를 읽어볼 수 있다.


[ 옮긴이 소개 ]

디오이즈 http://www.dioiz.com
디오이즈는 2001년 설립 이후로 다양한 분야의 임베디드 시스템에 바로 적용할 수 있는 임베디드 소프트웨어 개발, 공급, 교육, 컨설팅을 전문으로 하는 회사다.
소프트웨어 제품으로는 임베디드 시스템용 실시간 커널, 파일 시스템, TCP/IP 스택, USB 호스트/디바이스 스택, GUI, 데이터베이스 등이 있으며, 최근 들어 닷넷 마이크로 프레임워크 레퍼런스 보드와 포팅 서비스도 제공한다.


[ 옮긴이의 말 ]

내가 처음으로 닷넷 마이크로 프레임워크를 알게 된 때는 2007년 여름이다. 당시 나는 임베디드 제품을 개발하는 다양한 제조사를 대상으로 상용 임베디드 소프트웨어를 공급하는 일을 하는 중이었고, 마이크로소프트에서 닷넷 마이크로 프레임워크라는 새로운 임베디드 플랫폼을 내놓았다는 사실에 관심을 갖게 됐다.

닷넷 마이크로 프레임워크는 MMU가 없는 ARM7 프로세서 같은 저성능 프로세서에서 동작하면서도 WPF(Windows Presentation Foundation)를 기반으로 한 그래픽 사용자 인터페이스(GUI)와 일부 보안 기능이 포함된 TCP/IP 스택을 지원한다. 그러면서도 마이크로소프트의 기존 임베디드 플랫폼보다 메모리를 훨씬 적게 사용한다는 이점을 지닌다.
닷넷 마이크로 프레임워크는 제한적인 리소스로 동작해야 하는 경량 하드웨어 플랫폼상에서 마이크로소프트의 닷넷 기술을 사용한 임베디드 애플리케이션 개발을 가능케 해주는 소프트웨어 플랫폼이다.

닷넷 마이크로 프레임워크의 애플리케이션 개발 환경은 데스크탑 응용프로그램용 개발 툴로서 전 세계적으로 가장 많이 사용되는 강력한 개발 툴인 비주얼 스튜디오다. 이 훌륭한 개발 툴을 임베디드 애플리케이션 개발에 사용할 수 있다는 점은 상당히 고무적인 일이라는 말에 반대하는 사람은 거의 없을 것이다. 더군다나 닷넷 마이크로 프레임워크 최신 버전인 3.0의 개발 환경은 비주얼 스튜디오 2008 익스프레스 에디션으로서, 누구나 간단한 사용자 등록 절차만 마치면 무료로 기간 제약 없이 얼마든지 사용할 수 있다. JTAG 디버거 등 제대로 된 임베디드 시스템 개발 장비와 개발 환경을 갖추려면 상당한 비용이 들어간다는 점을 고려해볼 때 비주얼 스튜디오 2008 익스프레스 에디션의 닷넷 마이크로 프레임워크 지원은 닷넷 마이크로 프레임워크의 대중화에 큰 기여를 할 것이다.

요즘 임베디드 시스템은 텍스트 기반의 사용자 인터페이스에서 터치를 지원하는 컬러 그래픽 사용자 인터페이스로 바뀌고 있다. 이는 PC, 휴대폰, 네비게이션, 휴대용 멀티미디어 플레이어 등에서 제공하는 화려한 사용자 인터페이스에 익숙해진 사용자의 기대에 부응하기 위한 자연스러운 추세라고 할 수 있다. 또 이런 추세를 뒷받침할 수 있을 만큼 관련 하드웨어 부품 가격도 예전에 비해 상당히 저렴해졌다. 소프트웨어적인 측면에서는 닷넷 마이크로 프레임워크에서 제공하는 그래픽 사용자 인터페이스가 바로 이런 요구사항을 만족시킬 수 있을 것으로 기대한다.

이 책은 닷넷 마이크로 프레임워크에서 지원하는 여러 가지 기능과 특징을 실용적인 예제와 함께 아주 자세히 설명한다. 저자가 원래 닷넷 프레임워크를 기반으로 한 소프트웨어 개발자이기 때문에 닷넷 프레임워크 기술에 대해서 상당한 지식을 지녔다. 그렇기 때문에 저자는 자신이 지닌 노하우를 책에서 아낌없이 설명한다. 특히 DPWS와 확장 가능한 에뮬레이터에 대한 설명은 어디에서도 찾아볼 수 없는 자세한 내용을 담고 있으므로 닷넷 마이크로 프레임워크에 포함된 도움말만으로는 이해하기 어려운 내용을 예제와 함께 공부할 수 있을 것이다.

책에서 설명하는 예제 프로젝트의 대부분은 닷넷 마이크로 프레임워크 SDK에 포함된 에뮬레이터에서 실행해볼 수 있다. 이 책을 통해 닷넷 마이크로 프레임워크의 개념과 지원 기능을 손쉽게 습득하길 바란다. 또한 습득한 지식을 바탕으로 닷넷 마이크로 프레임워크가 제공하는 풍부한 기능을 충분히 활용해서 멋진 임베디드 애플리케이션을 작성할 수 있기를 바란다.

목차

목차
  • 1장 닷넷 마이크로 프레임워크 소개
    • 닷넷 마이크로 프레임워크란
    • 닷넷 마이크로 프레임워크의 역사
    • 동기
      • 과거의 임베디드 시스템 개발
      • 다른 접근 방법
      • 관리형 코드의 장점
      • 닷넷 마이크로 프레임워크의 위치
      • 닷넷 마이크로 프레임워크에서 불가능한 것
      • 라이선스
      • 닷넷 마이크로 프레임워크의 장점
      • 닷넷 마이크로 프레임워크와 윈도우 사이드쇼
    • 기술 개요
      • 부팅 가능한 런타임 환경 소개
      • 구조
      • 닷넷 마이크로 프레임워크 컴파일
      • 타겟 플랫폼
      • 플랫폼 포팅
    • 더 많은 정보를 위한 링크
    • 정리
  • 2장 디바이스
    • 프리스케일 i.MXS 개발 키트
    • 디바이스 솔루션 사의 메리디언과 타호
      • 메리디언 CPU
      • 타호 개발 키트
    • 디지 인터내셔널 사의 임베디드 개발 제품
      • 디지 커넥트 ME
      • 디지 커넥트코어 9P 9215
    • SJJ 임베디드 마이크로 솔루션 임베디드 개발 키트
    • 크로스보우 사의 Imote2.NET 에디션
      • 모듈
      • 멀티센서 보드
      • 개발 키트
    • 아데니오 사의 포팅 제품
      • PHYTEC phyCORE-LPC3180
      • Atmel AT91SAM9261
    • GHI 일렉트로닉스 사의 임베디드 마스터
      • 임베디드 마스터 모듈
      • 개발 키트
    • 엠트리온 HiCO.ARM9
      • HiCO.ARM9 코어 모듈
      • 개발 키트
    • 정리
  • 3장 시작하기
    • 시스템 준비
      • 시스템 요구사양
      • 닷넷 마이크로 프레임워크 SDK의 설치
    • 비주얼 스튜디오와 닷넷 마이크로 프레임워크의 사용
      • 새 프로젝트 만들기
      • 첫 번째 닷넷 마이크로 프레임워크 애플리케이션
      • 비주얼 스튜디오 워크스페이스
      • 프로젝트 속성 설정
      • 애플리케이션의 빌드, 배치, 실행, 디버깅
    • 닷넷 마이크로 프레임워크 SDK
      • 파일 구조
      • 기본 클래스 라이브러리 런타임 어셈블리
      • MFDeploy 툴
      • TFConvert 툴
    • 정리
  • 4장 닷넷 마이크로 프레임워크의 기본 클래스 라이브러리 소개
    • 진단을 위한 텍스트 출력
    • 프로그램 실행 멈추기
    • 시스템 시간과 표준 시간대 설정
    • 타이머의 사용
    • 문자열의 사용
      • System.String 클래스
      • 문자열 연결
      • 문자열 인코딩
    • 배열의 사용
      • 다차원 배열
      • 바이트 배열의 결합
      • 배열의 일부 요소 추출
      • 바이트 배열 이외 배열의 연결과 복사
      • 정수와 바이트 배열
    • 컬렉션의 사용
      • ArrayList 클래스
      • ArrayList 클래스의 사용
    • 숫자 처리
      • 10진 실수
      • 16진수 출력
      • 숫자의 파싱
    • 수학 관련 함수
    • 예외 처리
      • 예외 발생
      • 예외 처리
      • Finally 블록
      • 다양한 예외 타입의 처리
      • 예외로부터 정보 얻기
      • 예외의 재발생
    • 정리
  • 5장 하드웨어 접근
    • GPIO 포트란
      • 출력 포트
      • 입력 포트
      • 인터럽트 포트
      • 엣지에서 발생하는 인터럽트
      • 레벨에 따라 발생하는 인터럽트
      • Tristate 포트
    • RS232 직렬 포트
      • SerialPort 클래스
      • 데이터 보내기
      • 데이터 받기
      • 요청-응답 접근
    • 핀 사용과 예약
      • 핀 예약이란
      • HardwareProvider 클래스
      • 커스텀 하드웨어 프로바이더
    • I2C 버스
      • 닷넷 마이크로 프레임워크에서의 I2C 디바이스 사용
      • 10비트 주소의 사용
      • TI TMP100 온도 센서를 위한 관리형 드라이버
      • I2C 하드웨어 프로바이더
    • SPI 버스
      • 닷넷 마이크로 프레임워크에서의 SPI 디바이스 사용
      • AD124S101 AD 컨버터용 관리형 드라이버
      • SPI용 하드웨어 프로바이더
    • 기타 하드웨어
      • PWM
      • 파일시스템을 갖춘 대용량 저장 장치
      • USB
    • 전원과 충전 상태 정보를 얻는 방법
    • 프로세서의 속도 정보 얻기
    • 시스템 식별
    • 정리
  • 6장 네트워킹
    • 소켓
      • Socket 클래스
      • TCP
      • UDP
      • 네트워크 설정
      • 소켓 심층 분석
    • 웹서비스
      • DPWS의 구조
      • 서비스 탐색
      • 서비스 기술
      • 제어
      • 이벤트
      • DPWS 심층 분석
    • 정리
  • 7장 무선 통신
    • 무선 랜
    • 블루투스
    • 지그비
    • Z-웨이브
    • 무선 통신 기술의 비교
    • 블루투스, 지그비, Z-웨이브 모듈을 위한 URL
    • 정리
  • 8장 암호화
    • XTEA: 대칭 알고리즘
      • XTEA의 사용
      • 닷넷과 닷넷 컴팩트 프레임워크의 XTEA
    • RSA: 비대칭 알고리즘
      • 키 조합을 이용하는 일반적인 시나리오
      • 개인 키와 공용 키의 생성
      • RSA를 이용한 인코딩과 디코딩
      • 전자서명의 생성과 인증
    • 정리
  • 9장 닷넷 마이크로 프레임워크의 고급 프로그래밍 기법
    • 멀티스레딩과 동기화
      • 스레드의 사용
      • 동기화
      • 이벤트
    • 위크 델리게이트
    • 실행 제한 시간
    • 바이너리 직렬화
      • 사용법
      • 스토리지 포맷과 설정
      • 어트리뷰트를 이용한 직렬화 설정
      • 참고, 힌트, 교훈
      • 다른 디바이스와의 데이터 교환
    • 플래시 메모리에 데이터 영구 저장
    • 정리
  • 10장 세계화와 지역화
    • 리소스
      • 리소스의 생성과 편집
      • 리소스 작업
    • 컬처
      • 커스텀 컬처의 생성과 설치
      • 날짜, 시간 및 숫자에 대한 포맷
      • 현재 컬처의 저장
    • 다국어용 애플리케이션
      • 위성 어셈블리
      • 위성 어셈블리의 생성
      • 실행 시 언어 변경
    • 정리
  • 11장 그래픽스와 GUI
    • Bitmap 클래스를 이용한 그리기
      • 비트맵의 사용
      • 비트맵을 디스플레이로 출력
      • 색의 사용
      • 사각형 그리기
      • 타원 그리기
      • 이미지 그리기
      • 텍스트 출력
    • 사용자 입력을 처리하는 인터페이스
      • WPF
      • 첫 번째 WPF 애플리케이션
      • Application 클래스
      • 출력 엘리먼트의 계층 구조
      • Panel 컨테이너를 이용한 엘리먼트의 배치
      • 브러시를 사용하는 컨트롤의 배경
      • 엘리먼트 주위에 테두리선 그리기
      • 셰이프의 출력
      • Text 엘리먼트
      • TextFlow 엘리먼트
      • ScrollViewer 엘리먼트
      • 리스트상자 메뉴
      • 사용자 입력과 이벤트의 처리
      • 커스텀 UI 엘리먼트 만들기
    • 정리
  • 12장 하드웨어 에뮬레이션
    • 하드웨어 에뮬레이션을 사용하는 이유
      • 에뮬레이션이 가능한 하드웨어의 종류
      • 에뮬레이터의 사용자 인터페이스
      • 확장 가능 에뮬레이터
    • 에뮬레이터 시작하기
      • 에뮬레이터 프로젝트 템플릿
    • 에뮬레이터 컴포넌트 4
      • EmulatorComponent 클래스
      • 재사용 가능한 에뮬레이터 컴포넌트의 공유
      • 에뮬레이터 컴포넌트에 대한 새 라이브러리 프로젝트 생성
    • XML 설정
      • 프로그램과 XML 설정
      • 컴포넌트 등록
      • 기존 컴포넌트의 삭제와 업데이트
      • 컴포넌트 속성
      • 속성 값의 파싱
      • format 지정자
      • 복합 데이터 타입
      • type 지정자
      • 배열 속성
      • 컴포넌트 컬렉션
    • 에뮬레이터에 대한 모든 것
      • 에뮬레이터 클래스 멤버
      • 에뮬레이터 스타트-업 프로세스
      • 연결된 컴포넌트
      • 등록된 컴포넌트의 사용
      • 에뮬레이터 디버깅
      • 커맨드라인 옵션
      • 에뮬레이터와 레지스트리
    • 정리
  • 13장 에뮬레이터 컴포넌트
    • GPIO 포트
      • XML 설정
      • 입력 포트
      • 출력 포트
      • 에뮬레이터와 GUI 스레드의 동기화
      • GpioCollection의 MaxPorts 속성
    • 직렬 포트
      • 에뮬레이터와 애플리케이션 간 통신
      • 다른 윈도우 애플리케이션과의 데이터 교환
      • 실제 하드웨어 컴포넌트와의 직렬 데이터 교환
      • 하이퍼터미널을 이용한 직렬 데이터 교환
      • 클라이언트로 동작하는 소켓과의 데이터 교환
    • I2C 버스
      • I2cDevice 컴포넌트
      • I2cBus 컴포넌트
      • TI TMP100 온도 센서용 에뮬레이터 컴포넌트
    • SPI 버스
      • SpiDevice 컴포넌트
    • SpiBus 클래스
    • ADC124S101 AD 컨버터용 에뮬레이터 컴포넌트
  • 에뮬레이터 타이밍
    • 프로세서 스피드의 시뮬레이션
    • 컨티뉴에이션
    • 컴플리션
    • 타이머
    • 오실레이터 컴포넌트
    • 메모리 관리
    • 영구적인 플래시 메모리의 에뮬레이션
    • 배터리 셀의 시뮬레이션
    • LCD 디스플레이

관련 블로그 글

닷넷 마이크로 프레임워크 임베디드 프로그래밍 서적
사용자 삽입 이미지
닷넷 마이크로 프레임워크를 활용한
임베디드 마이크로컨트롤러 프로그래밍

젠스 퀴너 지음 | 디오이즈 옮김 | 임베디드 시스템 프로그래밍 시리즈 28
2009년 7월 31일 출간 예정 | 588쪽 | 35,000원

마이크로소프트 닷넷 마이크로 프레임워크(.NET Micro Framework)는 작고 효율적인 닷넷 런타임 환경으로서, 윈도우 CE와 닷넷 컴팩트 프레임워크를 구동하기에는 하드웨어 자원이 부족하고 규모가 매우 작은 임베디드 디바이스에서 애플리케이션을 돌릴 수 있습니다.

임베디드 시스템 개발자들은 하드웨어와 직접 상호작용하는 코드를 작성하는 데 익숙합니다. 하지만 이런 방식으로 작성한 소프트웨어는 동일한 CPU 코어를 사용하는 다른 플랫폼에서 실행되지 않는 경우가 종종 발생합니다. CPU 코드는 같더라도 보드마다 사용하는 버스, 인터럽트 컨트롤러, 메모리, 입출력 인터페이스 등이 서로 다르기 때문입니다. 게다가 임베디드 시스템 개발을 위한 툴이나 개발환경은 오늘날에도 그다지 편하지도 않고 완전하지도 않습니다. CPU 벤더마다 제각기 다른 컴파일러와 개발 툴을 제공하므로 개발 PC 상에서 하드웨어를 시뮬레이션하고 임베디드 애플리케이션을 디버깅하기도 힘든 상황이죠.

닷넷 마이크로 프레임워크를 탑재한 표준 하드웨어 플랫폼은 바로 사용할 수 있는 단일 보드 컴퓨터입니다. 메모리, 범용 입출력포트, 직렬 포트, 디스플레이 장치 등 일반 하드웨어 요소를 모두 갖추고 있죠. 따라서 개발자는 이 플랫폼 상에서 애플리케이션 작성하는 일에만 역량을 집중하면 됩니다.

닷넷 마이크로 프레임워크 애플리케이션은 비주얼 스튜디오를 사용해서 작성할 수 있으므로, 이미 데스크탑, 스마트폰, PDA용 닷넷 애플리케이션을 개발해본 경험이 있다면 어렵지 않게 개발할 수 있습니다. 또한 명확하고도 재사용 가능한 객체 지향 코드를 작성할 수 있는 C#을 사용하므로 닷넷 프로그래밍 환경에 익숙한 개발자라면 임베디드 시스템 개발자로 갈아타기가 쉽다는 얘기죠.
사용자 삽입 이미지
윈도우 XP, 윈도우 XP 임베디드, 윈도우 비스타는 완전한 닷넷 프레임워크를 지원하는 반면, 윈도우 CE는 닷넷 컴팩트 프레임워크를 지원합니다. 닷넷 마이크로 프레임워크는 지금까지 나온 제품 중 가장 규모가 작으며, 닷넷 프레임워크와 닷넷 컴팩트 프레임워크 기능의 일부만 제공합니다. 윈도우 CE는 관리형 코드와 닷넷 컴팩트 프레임워크를 지원하지만 적어도 12MB의 램을 필요로 하는 반면, 하드웨어에서 바로 실행되는 닷넷 마이크로 프레임워크는 겨우 300KB 정도의 램만 필요합니다. 비록 현재 3.0 버전은 ARM, Blackfin과 같은 특정 32비트 프로세서만 지원하나 MMU가 없는 환경에서도 동작이 가능하므로
윈도우 CE용보다 저렴한 프로세서에서도 실행할 수 있습니다.

닷넷 마이크로 프레임워크의 장점을 나열하면 다음과 같습니다.

■ (다른 임베디드 플랫폼에 비해) 저렴한 개발 비용
■ (다른 임베디드 플랫폼에 비해) 빠른 시장 출시 가능성
■ (다른 관리형 플랫폼에 비해) 저렴한 하드웨어 비용
■ (다른 관리형 플랫폼에 비해) 작은 하드웨어 사이즈
■ (다른 관리형 플랫폼에 비해) 낮은 전력 소비량
■ 특정 칩셋이나 보드 벤더에게 한정되지 않는 일반성
■ 마이크로소프트의 중요 임베디드 전략
■ 관리형 코드
■ 풍부한 기본 클래스 라이브러리
■ 관리형 드라이버와 함께 제공되는 하드웨어 제어 기능
■ 최상급 개발용 툴로 널리 사용되는 비주얼 스튜디오와의 통합
■ 활용할 수 있는 닷넷 개발자가 많음
■ 확장성 있는 에뮬레이터를 사용한 빠른 프로토타이핑과 디버깅
■ 디바이스에서 수행되는 생생한 디버깅

요즘 임베디드 시스템은 텍스트 기반의 사용자 인터페이스에서 터치를 지원하는 컬러 GUI로 바뀌고 있다. 이는 PC, 휴대폰, 네비게이션, 휴대용 멀티미디어 플레이어 등에서 제공하는 화려한 사용자 인터페이스에 익숙해진 사용자의 기대에 부응하기 위한 자연스러운 추세라고 할 수 있다. 또 이런 추세를 뒷받침할 수 있을 만큼 관련 하드웨어 부품 가격도 예전에 비해 상당히 저렴해졌다. 소프트웨어적인 측면에서는 닷넷 마이크로 프레임워크에서 제공하는 GUI가 바로 이런 요구사항을 만족시킬 수 있을 것으로 기대한다.

이 책은 닷넷 마이크로 프레임워크에서 지원하는 여러 가지 기능과 특징을 실용적인 예제와 함께 아주 자세히 설명한다. 저자가 원래 닷넷 프레임워크를 기반으로 한 소프트웨어 개발자이기 때문에 닷넷 프레임워크 기술에 대해서 상당한 지식을 지녔다. 그렇기 때문에 저자는 자신이 지닌 노하우를 책에서 아낌없이 설명한다. 특히 DPWS와 확장 가능한 에뮬레이터에 대한 설명은 어디에서도 찾아볼 수 없는 자세한 내용을 담고 있으므로 닷넷 마이크로 프레임워크에 포함된 도움말만으로는 이해하기 어려운 내용을 예제와 함께 공부할 수 있을 것이다.
- 옮긴이의 말 중에서

책에서는 다양한 플랫폼과 보드에서 실행가능한 실전 예제 프로젝트가 풍부하게 담겼습니다. 임베디드 개발자 분들이 닷넷 마이크로 프레임워크를 활용해 임베디드 마이크로컨트롤러 프로그래밍을 익히는 데 더없는 귀한 가이드가 될 것이라 확신합니다. 이 책은 닷넷 마이크로 프레임워크를 올린 레퍼런스 보드 DZTK-2440MF 보드를 제작해 곧 배포할 예정인 디오이즈(http://www.dioiz.com)에서 번역을 맡아주셨습니다. 그간 번역에 도움을 많이 주신 허영주님께도 감사드립니다.
사용자 삽입 이미지

닷넷 마이크로 프레임워크를 활용한 임베디드 마이크로컨트롤러 프로그래밍YES24, 강컴, 교보문고, 알라딘, 인터파크 등에서 예약판매 중입니다.
CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안