준비 키트( preparation kit)download.microsoft.com/download/0/b/9/0b98a0ae-c7af-4ee2-8cb… ·...
TRANSCRIPT
-
i
Windows Embedded CE 6.0
CTSMExam 70-571
전매 금지.
인증 시험 준비준비 키트(Preparation Kit)
R2 콘텐츠로
업데이트
됨
-
ii
발행인
Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
이 문서는 정보용입니다 . MICROSOFT 는 이 문서에 포함된 정보에 대해 ( 직접 , 간접 , 특별한 )그 어떤 보증도 하지 않습니다 . 이 문서에 포함된 정보는 발행일을 기준으로 토론된 문제점에 대한 Microsoft Corporation 의 현재 관점을 대표합니다 . Microsoft 는 변하는 시세에 대처해야 하기 때문에 정보에 대한 책임을 질 수 없으며 발행일 이후에 제공되는 정보의 정확성을 보장할 수 없습니다 . URL 과 기타 인터넷 웹사이트 참고 자료를 포함하여 이 문서에 있는 정보는 통보없이 변경될 수 있습니다 .
모든 적용되는 저작권 법을 준수하는 것은 사용자의 책임입니다 . 저작권 하에 권리 제한이 허용되지 않는 한 , Microsoft Corporation 의 명시적 서면 허가없이 이 문서의 그 어느 일부도 그 어떤목적으로든 무단으로 복제 , 검색 시스템으로 저장 또는 입력 , 또는 그 어떤 형태나 방식으로 전송( 전자 , 기계 , 복사 , 기록 , 또는 기타 ) 될 수 없습니다 . Microsoft 는 이 문서상에 언급된 주제에관련된 특허 , 특허 응용 프로그램 , 등록 상표 , 저작권 또는 기타 지적 재산권을 소유할 수 있습니다 . Microsoft 와의 서면 사용권 계약에 명시적으로 나타나 있지 않은 이상 , 이 문서의 제공으로인해 이러한 특허 , 등록 상표 , 저작권 및 기타 지적 재산권에 대한 그 어떤 사용권도 부여되지 않습니다 .
저작권 © 2008 Microsoft Corporation. 모든 권리 소유 .
Microsoft, ActiveSync, IntelliSense, Internet Explorer, MSDN, Visual Studio, Win32,Windows 및 Windows Mobile 은 Microsoft 회사 그룹의 등록 상표입니다 . 이 문서에 언급된 회사와 제품의 실제 이름은 해당 소유자의 상표일 수 있습니다 .
용례에 사용된 회사 , 기관 , 제품 , 도메인 이름 , 전자 메일 주소 , 로고 , 사람 , 장소 및 이벤트는 다른 설명이 없는 한 실제 데이터가 아닙니다 . 어떠한 실제 회사 , 기관 , 제품 , 도메인 이름 , 전자 메일 주소 , 로고 , 사람 , 장소 또는 이벤트와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다 .
인수 편집인 : 산드라 웨버 (Sondra Webber), Microsoft Corporation
저자 : 니콜라스 베슨 (Nicolas Besson), Adeneo Corporation레이 마르실라 (Ray Marcilla), Adeneo Corporation라제쉬 캐이드 (Rajesh Kakde), Adeneo Corporation
집필 감독 : 워런 루보 (Warren Lubow), Adeneo Corporation
기술 검수인 : 브리지트 후왕 (Brigette Huang), Microsoft Corporation
편집 제작 : Biblioso Corporation
본문 번호 X00-00000
-
iii
간단한 내용
서문 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
소개 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
1 운영체제 디자인 설계 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 런타임 이미지 빌드와 배포 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3 시스템 프로그래밍 실행 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4 디버깅 및 시스템 테스트 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5 보드 지윈 패키지의 사용자 지정 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6 장치 드라이버 개발 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
용어 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
색인 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
저자에 대하여 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
-
xi
서문
마치 어제와 같은 날처럼 Windows CE 1.0 이 시장에 발표된 이후 , 성공적인 12
년 세월이 흐르고 많은 것들이 변화 되었습니다 . 다시 말해 , 이전 기술들이 사라
지는 동안 새로운 기술들은 다른 기술과 합쳐지고 있습니다 . 우리는 새 하드웨어
및 소프트웨어 혁신의 혜택을 온전히 활용하기 위해 파트너들과 함께 계속해서
전진하고 있습니다 . Windows Embedded CE 는 계속해서 진화하고 있지만 다
중 프로세서 아키텍처와 로보트 , 휴대용 초음파 이미징 시스템 , 인더스트리얼 컨
트롤러 , 윈격 센서 및 경보 시스템 , POS(Point Of Sale) 프런트 엔드 , 미디어 스
트리머 , 게임 콘솔 , 씬 클라이언트 , 그리고 일반적으로 Microsoft 운영 체제와
연관하여 고려되지 않는 장치까지도 포함한 방대하고 다양한 장치에서 실행되는
작은 풋프린트의 실시간 , 임베디드 운영 체제로 남아 있습니다 . 아마 언젠가는
Windows Embedded CE 가 달에 있는 장치에서 실행될 겁니다 . 전혀 불가능한
일이 아닙니다 . Windows Embedded CE 는 컴퓨터 장치를 통해 삶이 간편해지
고 흥미롭게 되는 모든 곳에 존재할 수 있습니다 .
아예 처음부터 개발 도구의 포괄적 집합을 만들고 Windows 프로그래밍 인터페
이스 및 프레임워크를 지윈함으로써 전문 임베디드 개발자들의 요구사항에 집중
하기 시작했습니다 . 개발자들이 운영 체제를 커스터마이징 할 수 있고 운영 체제
를 위한 응용 프로그램을 빌드 할 수 있도록 Windows Embedded CE 개발 도구
를 Visual Studio 2005 와 통합시켰습니다 . 오늘날 , Windows Embedded CE
6.0 는 x86, ARM, MIPS 및 SH4 프로세서를 지윈하며 약 700 개 선택할 수 있는
운영 체제 컴포넌트를 포함합니다 . CE 는 운영 체제 이미지와 응용 프로그램을
구성 , 빌드 , 다운로드 , 디버그 및 테스트하는데 필요한 도구를 제공하며 커널 ,
장치 드라이버 및 기타 기능을 위한 소스 코드와 함께 전송하며 응용 프로그램 개
발자에게 Win32, MFC 또는 ATL 네이티브 코드 응용 프로그램이나 .NET Com-pact Framework 을 기반으로 한 관리된 응용 프로그램을 만들 수 있는 유연성
을 제공합니다 . Microsoft 공유 소스 이니셔티브 (Shared Source Initiative) 의
일환으로 , 2 백 5 십만 이상 라인의 CE 소스 코드를 개발자로 하여금 소스를 보
고 변경하고 다시 빌드하고 릴리스 할 수 있게 하고 있습니다 . 그리고 최근에는
"Spark your Imagination" 프로그램을 도입하여 취미 또는 학생 개발자들에게
저렴한 비용에 하드웨어 및 소프트웨어 개발 도구로의 액세스를 제공하고 있습
니다 .
Microsoft Certified Technology Specialist (TS) 시험 70-571 “Windows
Embedded CE 6.0 Development” (2008 년 5 월 릴리스 ) 를 위한 이 준비 키트
에서 CE 운영 체제 , 개발 도구 및 개념에 관한 충분한 정보를 얻을 수 있습니다 .
-
xii 서문
따라서 시험 70-571 로 인해 매우 기쁩니다 . 왜냐하면 Windows Embedded CE
성공담으로서 또 한 번의 중요한 시점을 의미하기 때문입니다 . 이제 최초로 임베
디드 개발자들이 Windows Embedded 기술을 기반으로 한 포함된 솔루션 개발
에 대한 자신의 실력을 평가하고 발휘할 수 있게 되었으며 이 지식과 숙련도를 인
정 받을 수 있게 되었습니다 . CE 6.0 에 대한 열정이 있는 모든 개발자는 시험 치
루기를 고려해 볼 필요가 있습니다 . 본사는 이 책자를 통해 Windows Embedded
CE 6.0 이 개발 프로세스를 가속화 시켜 준 것처럼 독자의 시험 준비가 가속화 되
었으면 하는 바램입니다 . Microsoft 개발 팀으로서 여러분의 성공을 빕니다 !
마이크 홀 (Mike Hall)
Windows Embedded 아키텍트
Microsoft Corporation
-
xiii
소개
Microsoft Windows Embedded CE 6.0 Exam Preparation Kit 를 시작하신 것
을 환영합니다 . 이 준비 키트의 용도는 Windows Embedded CE 개발자들을 위
한 Microsoft Certified Technology Specialist (MCTS) Windows Embedded
CE 6.0 Application Development 인증 시험 준비입니다 .
이 준비 키트를 사용하여 다음 시험 목표를 달성하기 위한 실력을 최대로 증진 시
킬 수 있습니다 .
■ 운영 체제 디자인 커스터마이징 하기 .
■ Windows Embedded CE 컴포넌트 복제 및 카탈로그 항목 관리
■ Software Development Kit (SDK) 생성
■ 런타임 이미지 빌드 및 빌드 결과 분석
■ 런타임 이미지 배포 , 모니터 및 최적화
■ 다중 스레드 시스템 응용 프로그램 개발
■ 예외 처리 구현 .
■ UI 응용 프로그램 에서나 장치 드라이버 및 OEM 적응 계층 (OAL) 에서의 전
윈 관리 지윈 .
■ 부팅 로더 및 메모리 매핑에 대한 커스터 마이징을 포함한 Board Support
Package (BSP) 구성 .
■ 모든 특징 스트림 인터페이스 드라이버 개발 .
■ 인터럽트 서비스 루틴 (ISR), 인터럽트 서비스 스레드 (IST), 그리고 커널 모
드 컴포넌트와 사용자 모드 컴포넌트간의 마샬 데이터 구현 .
■ 소프트웨어 관련 에러를 제거하기 위한 커널 모드 및 사용자 모드 컴포넌트
디버그 .
■ 워크스테이션과 대상 장치에 대한 표준 및 사용자 정의 테스트 수행을 위한
Windows Embedded CE Test Kit (CETK) 사용 .
■ CETK 기반 테스트에 사용자 지정 장치 드라이버를 포함하는 Tux 확장 컴
포넌트 개발 .
-
xiv 소개
교육 대상본 Exam Preparation Kit 는 운영 체제 디자인 , 프로그래밍 시스템 컴포넌트 및
Windows Embedded CE 플랫폼상의 디버깅에 대한 기본 지식이 있는 시스템 개
발자를 위해 창안되었습니다 .
이 Preparation Kit 는 특히 다음 자격을 가진 독자를 위해 창안되었습니다 .
■ Windows 및 Windows Embedded CE 개발에 대한 기본 지식
■ 적어도 2 년 이상의 C/C++ 프로그래밍 및 Win32 Application
Programming Interface (API) 경력
■ Microsoft Visual Studio 2005 와 Platform Builder for Windows
Embedded CE 6.0 에 대한 능숙성 .
■ 표준 Windows 디버깅 도구를 사용한 기본적 디버깅 기술 .
추가 정보 시험 70-571 의 교육 대상 프로필
인증 시험 합격의 필수 조건에 대한 정보를 윈하시면 HTTP://WWW.MICROSOFT.COM/LEARNING/EXAMS/70-571.MSPX 를 방문하여 시험 70-571 준비 안내서의 교육 대상 프로필 섹션을 보십시오 .
이 책의 특징각 장마다 해당 시험 목표 목록과 해당 장의 완료를 준비시켜주는 “시작하기 전
에” 라는 섹션으로 시작됩니다 . 각 장은 학습별로 구분되어 있습니다 . 각 학습
에는 해당 목표 목록이 있고 예상 학습 시간이 명시되어 있습니다 . 학습 내용은
토픽과 학습 목표별로 구분되어 있습니다 .
각 장은 실지 절차와 모든 학습의 짤막한 요약으로 끝납니다 . 그 뒤에는 주요 단
어의 간단한 확인과 그 장의 내용에 대한 지식을 시험하고 그 장에 제시된 시험
목표를 성공적으로 통달할 수 있게 해주는 제안된 연습이 따라 옵니다 .
실제적인 예를 통해 특정 개념이나 기술을 발휘하고 그 절의 학습에서 배운 내용
에 대한 시험을 볼 수 있습니다 . 모든 실제적인 예에는 이 문단의 왼편에 보여진
바와 같이 글머리 기호로 식별될 수 있는 단계별 절차가 있습니다 . 제공된 절차
를 성공적으로 통달할 수 있도록 해주는 각 실험에 대한 단계별 지시 사항을 포
함한 워크시트 또한 이 책의 부록 자료에 포함되어 있습니다 .
실습용 절차를 완료하려면 Microsoft Windows XP 나 Microsoft Windows
Vista, Visual Studio 2005 Service Pack 1, 그리고 Platform Builder for
Windows Embedded CE 6.0 이 설치된 개발 컴퓨터가 있어야 합니다 .
-
이 책의 특징 xv
하드웨어 요구 사항개발 컴퓨터에는 Windows XP 또는 Windows Vista 의 하드웨어 호환성 목록에
나열된 모든 하드웨어 뿐만 아니라 최소한 다음 구 성이 있어야 합니다 .
■ 1 GHz 32 비트 (x86) 또는 64 비트 (x64) 프로세서 또는 그 이상 .
■ 1 기가바이트 (GB) RAM.
■ Visual Studio 2005 및 Platform Builder 을 사용하기 위해 적어도 20GB
또는 최대 40GB 하드 드라이브 공간 필요 .
■ DVD-ROM 드라이브 .
■ Microsoft 마우스 또는 호환 가능 포인팅 장치 .
■ RAM 의 2 배 또는 그 이상의 페이징 파일 설정 .
■ VGA 호환 디스플레이 .
소프트웨어 요구 사항이 과정의 절차를 완료하려면 다음 소프트웨어가 요구됩니다 .
■ Microsoft Windows XP SP2 또는 Windows Vista.
■ Microsoft Visual Studio 2005 Professional Edition.
■ Microsoft Windows Embedded CE 6.0.
■ Microsoft Visual Studio 2005 Professional Edition SP1.
■ Microsoft Windows Embedded CE 6.0 SP1.
■ Microsoft Windows Embedded CE 6.0 R2.
참고 Visual Studio 2005 와 Windows Embedded CE 6.0 평가판 사용하기
설치 지침과 VISUAL STUDIO 2005 및 WINDOWS EMBEDDED CE 6.0 평가판은 MICROSOFT 웹 사이트 HTTP://WWW.MICROSOFT.COM/WINDOWS/EMBEDDED/PRODUCTS/WINDOWSCE/GETTING-STARTED.MSPX 를 통해 사용 가능합니다 .
표기법 규칙■ 입력한 문자나 명령은 굵게 소문자 형태로 여러분의 명령이나 캐릭터를 표
시합니다 .
■ 구문에서 < 꺾쇠 괄호 > 는 가변 정보의 자리 표시자를 나타냅니다 .
■ 기울임꼴 은 책 제목과 웹 주소에 사용됩니다 .
-
xvi 소개
■ 파일과 폴더의 이름은 직접 입력하는 경우를 제외하고는 제목 대문자로 나
타납니다 . 표시되지 않은 이상 , 대화 상자나 명령 프롬프트에 파일 이름을
입력할때 모두 소문자로 입력할 수 있습니다 .
■ 파일 이름 확장이 모두 소문자로 표시됩니다 .
■ 약어는 모두 대문자로 표시됩니다 .
■ 고정 폭 입력체는 코드 샘플 , 화면 텍스트의 예 , 아니면 명령 프롬프트나 초
기화 파일에 입력할 수 있는 항목을 대표합니다 .
■ 대괄호 [ ] 는 옵션 항목을 포함하기 위해 구문에 사용됩니다 . 예를 들면 , 명
령 구문에 있는 [ 파일이름 ] 은 명령으로 파일이름을 입력할 수 있음을 나타냅니다 . 대괄호 자체는 무시하고 대괄호 안에만 정보를 입력하십시오 .
■ 중괄호 { } 는 필수 항목을 포함하기 위해 구문에 사용됩니다 . 중괄호 자체는
무시하고 중괄호 안에만 정보를 입력하십시오 .
키보드 규칙■ 2 개의 키 이름 사이에 있는 덧셈 기호 (+) 는 그 두 키를 동시에 함께 눌러야
한다는 뜻입니다 . 예를 들면 , ALT+TAB 을 누르기 " 란 ALT 를 계속 누른상태에서 TAB 누르기를 뜻합니다 .
■ 2 개 이상의 키 이름 사이에 있는 쉼표 ( , ) 는 각각의 키를 동시에 함께 누르
지 말고 연속해서 눌러야 함을 뜻합니다 . 예를 들면 , "ALT, F, X 누르 " 기란 . 각 키를 순서대로 누름을 뜻합니다 . "ALT+W, L 누르기 " 란 , 먼저 ALT와 W 를 함께 누른 다음 L 을 누른다는 뜻입니다 .
■ 키보드를 사용하여 메뉴 명령을 선택할 수 있습니다 . ALT 키를 눌러 메뉴
바를 활성화시킨 다음 , 메뉴 이름과 명령 이름의 강조 표시되거나 밑줄이 그
어진 문자에 해당하는 키를 순서대로 누르면 됩니다 . 어떤 명령은 메뉴에 나
열된 키 조합을 눌러도 됩니다 .
■ 키보드를 사용하여 대화 상자에 있는 선택란이나 옵션 버튼을 선택하거나
선택을 취소할 수 있습니다 . ALT 키를 누른 다음 옵션 이름의 밑줄 그어진
문자에 해당하는 키를 누르면 됩니다 . 아니면 옵션이 강조 표시될 때까지
TAB 을 눌른 다음 스페이스바를 눌러 확인란이나 옵션 버튼을 선택하거나
선택을 지울 수 있습니다 .
■ ESC 키를 눌러 대화 상자 디스플레이를 취소할 수 있습니다 .
-
부록 CD-ROM 에 대한 정보 xvii
참고학습을 통해 여러 가지 유형의 메모가 소개됩니다 .
■ 팁 이라고 표시된 메모에는 가능한 결과나 대체 방법에 대한 설명이 포함되
어 있습니다 .
■ 중요 이라고 표시된 메모에는 작업 완료를 위한 필수 정보가 포함되어 있습
니다 .
■ 참고이라고 표시된 메모에는 보충 정보가 포함되어 있습니다 .
■ 주의이라고 표시된 메모에는 데이터 손실 가능성에 대한 경고가 포함되어
있습니다 .
■ Exam 팁이라고 표시된 메모에는 시험 설명 및 목표에 관한 유용한 힌트가
포함되어 있습니다 .
부록 CD-ROM 에 대한 정보부록 CD 에는 이 책과 함께 사용할 수 있는 다양한 정보 도구가 포함되어 있습니
다 . 여기에는 부수적 기술 정보와 Microsoft 개발자들이 낸 기사뿐만 아니라 자
세한 단계별 설명이 있는 워크시트와 실습에 사용되는 소스 코드가 포함됩니다 .
이 책의 전자 문서 (eBook) 버전은 보기 옵션의 다양성을 포함합니다 . 또한 부록
CD 는 책 발간에 필요한 이 공식적인 자율 학습 안내서를 위한 사후 간행 파일 전
체 세트를 포함합니다 . 사후 간행 파일는 Portable Document Format (PDF) 으
로 되어 있으며 전문적 인쇄 및 바인딩에 필요한 절단선이 있습니다 .
Microsoft Certified Professional 프로그램Microsoft Certified Professional (MCP) 프로그램은 현 Microsoft 제품 및 기
술에 대한 능력을 증명하기에 가장 좋은 방법을 제공합니다 . 시험 및 해당 인증
은 Microsoft 제품과 기술을 사용한 솔루션을 고안하고 개발하거나 구현하고 지
윈하는데 중요한 능력을 검증 받기 위해 개발 되었습니다 . Microsoft 인증을 획
득하는 컴퓨터 전문가는 이 분야에서 전문가로서 인정 받게 되며 이런 전문가에
대한 수요가 많습니다 . 인증은 개인 , 고용 회사 및 기관에 다양한 혜택을 부여합
니다 .
추가 정보 모든 Microsoft 인증
MICROSOFT 인증의 전체 목록을 보려면 HTTP://WWW.MICROSOFT.COM/LEARNING/MCP/DEFAULT.ASP 을 방문하십시오 .
-
xviii 소개
기술 지윈이 책자와 부록 CD 내용의 정확성을 확인하기 위해 모든 노력이 기울여 졌습니
다 . Windows Embedded CE 개발에 대한 의견 , 질문 또는 아이디어가 있으시
면 Microsoft Product Support Services (PSS), Microsoft Developer
Network (MSDN) 또는 다음 블로그 사이트를 통해 Windows Embedded CE 전
문가에게 알려 주십시오 .
■ 니콜라스 베슨의 웹로그 사용자 의견이나 기존 주제와 연관된 새 기사를
위한 주제에 대한 제안이 있으시면 http://nicolasbesson.blogspot.com 를
통해 Windows Embedded CE 6.0 Exam Preparation Kit 의 주 저자에게
연락 주십시오 .
■ Windows Embedded 블로그 http://blogs.msdn.com/mikehall/default.aspx
를 방문하여 마이크 홀의 트릭 , 팁 , 그리고 Windows Embedded 에 대한 임
의 사고를 읽어 보십시오 .
■ Windows CE Base Team 블로그 http://blogs.msdn.com/ce_base/
default.aspx 를 통해 Microsoft 개발자들에게서 직접 Windows Embedded
CE 커널 및 저장 기술과 시스템 도구에 대한 배경 정보를 받으십시오 .
추가 정보 Windows Embedded CE 제품 지윈
모든 사용 가능한 WINDOWS EMBEDDED CE 제품 지윈 옵션에 대한 자세한 정보를 윈하시면 HTTP://WWW.MICROSOFT.COM/WINDOWS/EMBEDDED/SUPPORT/PRODUCTS/DEFAULT.MSPX 를 방문하십시오 .
서문소개교육 대상이 책의 특징하드웨어 요구 사항소프트웨어 요구 사항표기법 규칙키보드 규칙참고
부록 CD-ROM에 대한 정보Microsoft Certified Professional 프로그램기술 지윈