Advanced Building of a Windows CE

Download Report

Transcript Advanced Building of a Windows CE

Advanced Building of a
Windows CE
이성화
System Engineer
DST Corporation
목차
플랫폼 빌더의 디렉터리 구조
빌드 순서
DIRS and SOURCES 파일
구성 파일들
컴포넌트 파일
테스트 킷(WCETK)
DEMO
플랫폼 빌더의 디렉터리 구조
PLATFORM
PUBLIC
SDK
OTHERS
PRIVATE
PLATFORM 디렉터리의 구성
BSP (Board Support Package)
파일들을 포함
부트로더
OAL(OEM Adaptation Layer)
장치 드라이버들
환경 변수 및 여러 구성 파일들
경로 : %_WINCEROOT%\Platform
PUBLIC 디렉터리의 구성
플랫폼 독립적인 구성요소 포함
경로 : %_WINCEROOT%\Public
세 가지 형태의 하위 디렉터리
모듈과 구성요소 : Common, Shell, RDP, IE 등
참조 구성 파일 : CEBASE
커스텀 구성 파일
PB4.2: %_WINCEROOT%\Public\Test
PB5.0: %_WINCEROOT%\PBWorkspaces\Tes
SDK 디렉터리의 구성
경로 : %_WINCEROOT%\SDK
플랫폼 빌더를 지원하기 위한 툴들 포함
프로세서 컴파일러
개발 툴들
다양한 유틸리티
OTHERS 디렉터리의 구성
경로 : %_WINCEROOT%\Others
하위 디렉터리의 구성
ATL
DOTNET
MFC
SAMPLES
WCETK
PRIVATE 디렉터리의 구성
경로 : %_WINCEROOT%\Private
Private 디렉터리의 설치
개발 툴 설치 시 선택 가능
포함된 소스 코드
그래픽 윈도우 & 이벤트 서브시스템(GWES)
파일 시스템
커널
빌드 순서
COMMON
DATASYNC
DCOM
DIRECTX
IE
MSMQ
RDP
SCRIPT
SERVERS
WCEAPPSFE
WCESHELLFE
Step 1. System
Generation
Step 3. Building the Release
Directory
C:\WINCE500\PUBLIC\
%_TGTPROJ%\RelDir\
%_TGTPLAT%_X86Debug>
..\cesysgen\ddk
..\cesysgen\oak
..\cesysgen\sdk
\target, \files
Step 2.
Build
..\platform\..
\target, \files
Step 4. Making
an Image
NK.BIN
시스템 생성 단계
Complete header
and source code
files
Complete system
libraries
Module definitions
(.def)
Cesysgen.bat
SYSGEN.BAT
Systemspecific header
files
Linked
libraries
Specific .def
files
빌드 단계
소스 코드 컴파일
DIRS 파일 사용
Sources 파일 사용
NMAKE.EXE 호출
생성된 바이너리(.exe/.dll)를 타겟 폴더로
Example : Target\Shx\Debug
생성된 바이너리(.lib)를 라이브러리 폴더로
Example : Lib\Shx\Debug
릴리즈 디렉터리 복사 단계
BUILDREL.BAT
모든 플랫폼 파일들을 릴리즈 디렉터리에 복사
모든 바이너리들을 릴리즈 디렉터리에 복사
사용자 설정에 의한 복사나 링크 수행
메이크 이미지 단계
릴리즈 디렉터리의 파일들을 합병
순서
구성 파일들의 합병
모든 .BIB 파일들 -> CE.BIB
모든 .REG 파일들 -> REGINIT.INI
모든 .DAT 파일들 -> INITOBJ.DAT
모든 .DB 파일들 -> INITBD.INI
DEFAULT.FDF 생성
언어 적응
이미지 생성(NK.BIN)
DIRS 파일
DIRS 파일에 정의된 하위 디렉터리 빌드
SOURCES 파일
모듈 컴파일
DLL, EXE, LIB 등으로 생성됨
Ex>
TARGETNAME = Kbdmouse
TARGETTYPE = DYNLINK
DLLENTRY = DllMain
TARGETLIBS = \
$(_COMMONSDKROOT)\Lib\$(_CPUINDPATH)\Coredll.lib
INCLUDES = $(_COMMONSDKROOT)\Inc
SOURCES = \
ioport.cpp \
vgaports.cpp \
구성 파일들
바이너리 이미지 빌더 파일
레지스터리 파일
파일 시스템 파일
데이터 베이스 파일
바이너리 이미지 빌더 파일(.BIB)
OS 이미지에 포함되는 모듈과 컴포넌트
정의
4가지 형태의 부분을 제공
모듈 부분:메모리에 로드
파일 부분:메모리에 예약
메모리 부분:메모리 정보 정의
구성 부분:속성 설정(ROM 크기 등)
레지스터리 파일(.REG)
디폴트 레지스터리 설정을 정의
COMMON.REG : 모듈과 관련된 레지스터리 설정
PLATFORM.REG : H/W 와 관련된 레지스터리
설정
PROJECT.REG : 사용자 프로젝트와 관련된
레지스터리 설정
EX>
[HKEY_LOCAL_MACHINE\init]
“Launch10”=“shell.exe”
“Launch20”=“device.exe”
파일 시스템 파일(.DAT)
이미지 안에서의 폴더 구조 정의
COMMON.DAT, IE.DAT, WCEAPPS.DAT,
WCESHELL.DAT
PLATFORM.DAT
PROJECT.DAT
Ex>
Directory("\DEMO"):-Directory  내컴퓨터\DEMO
Directory("\DEMO"):-Directory("동영상")  내컴퓨터\DEMO\동영상
Directory("\DEMO\동영상"):-File("test.lnk","\Windows\test.lnk")
 내컴퓨터\DEMO\동영상\test.lnk
데이터 베이스 파일(.DB)
디폴트 이미지에 대한 데이터베이스를
정의
COMMON.DB, WCEAPPS.DB, WCESHELL.DB
PLATFORM.DB
PROJECT.DB
컴포넌트 파일
.CEC 라는 확장자를 가짐
컴포넌트 파일의 구성
CECInfo Block
ComponentType Block
Implementation Block
BuildMethod Block
플랫폼 빌더의 카달로그에 추가
컴포넌트 편집기
테스트 킷
Windows CE TEST KIT를 말함
장치 드라이버의 성능 테스트
테스트 마법사
CETEST.EXE
테스트 로딩
TUX.EXE
로그 엔진
kato.dll
테스트 킷의 구조
Desktop
Windows CE Device
CETEST.EXE
ClientSide . exe
TUX . EXE
Kato.dll
Tux Test DLL
Tux Test DLL
Tux Test
DLLs
구성 파일의 수정
참조 사이트
추가적인 Windows Embedded 정보
http://www.microsoft.com/windows/embedded
Windows Embedded 커뮤니티
http://www.microsoft.com/windows/embedded/commu
nity
http://wecom.dstcorp.com
MSDN의 Embedded 자료
http://msdn.microsoft.com/embedded
Windows Embedded 파트너
http://www.mswep.com/
요약
플랫폼 빌더의 디렉터리 구조
빌드 순서
DIRS and SOURCES 파일
구성 파일들
컴포넌트 파일
테스트 킷(WCETK)
DEMO
© 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.