생성되는 SDK에는 에뮬레이터가 추가되기 때문에 ROM Image가 필요합니다
우리는 이미 이것을 2단계에서 생성하였고, 릴리즈 폴더에 보시면 nk.bin파일이 있음을 확인하실 수 있습니다
상단의 3. Release Directory 에서 위치를 확인하시고 이동하시면 됩니다
확인된 nk.bin 파일을 다음과 같은 경로에 폴더를 새로 생성하여 복사합니다
C:\WINCE500\PBWorkspaces\WinCE5_SDK_Korean\BIN
이유는 다음과 같습니다
디바이스 에뮬레이션 nk.bin 파일이지만 폴더라고 생각하면 된다.
폴더에는 최종 nk.bin파일 외에는 다른 이미지 (bin)파일이 없어야 하는 것을 권장한다. 왜냐면 SDK 롤러(음..영어의 표현은 재미 있는 것이 마니 있군..^^) 는 빌드하는 과정에서 이 폴더에 있는 것들을 하나로 만들어 버리기 때문이다.
by. Jaegeol Kim
이러한 이유로 nk.bin파일을 BIN이라는 폴더를 생성해서 복사하였습니다
다시 ExportSDK.sdkcfg 편집으로 돌아갑니다
ExportSDK.sdkcfg파일 아래에 보면 <PropertyBag NAME="Added Files"/>이러한 테그를 보실 수 있습니다
이것은 사용자가 추가로 다른 파일들을 SDK에 추가할 것인지를 묻는 내용으로 SDK Configure에서 수정이 가능합니다만, 관련 환경변수가 많기 때문에우리는 이것을 수작업으로 추가하도록 하겠습니다.
앞서 말씀드린 바와 같이 이것은 No Custom Skin용 입니다.
Custom Skin을 이용하실 경우 상단의 링크를 통하여 다른 소스를 참고하시기 바랍니다
{3B388597-0924-4102-ADFA-2519D2C3E11B}속성백은 에뮬레이터의 이미지를 가리키는 속성백이라 보시면 됩니다
노란색 하이라이트 부분을 아까 nk.bin을 복사한 파일 경로로 입력해 주시기 바랍니다
적색 하이라이트 부분이 새롭게 추가된 속성백 입니다
위와같은 작업을 마치셨으면 저장하고 텍스트 편집도구를 종료합니다
6. SDK 생성
Menu – Platform->SDK->Build SDK 실행
※ 주 : 가급적이면 5,6단계를 진행한 상태에서는 Configure SDK를 이용하여 수정하지 마시기 바랍니다
가끔 앞서 입력된 내용들이 손상을 입는 경우가 발생되어 재수정해야 하는 경우가 발생됩니다
진행 중 SDK에 릴리즈된 파일들과 어플리케이션 개발에 필요한 언어가 포함되는 것을 보실 수 있습니다
에러없이 정상적으로 SDK가 생성되면 위와 같은 화면이 출력 됩니다
7. SDK 설치
C:\WINCE500\PBWorkspaces\WinCE5_SDK_Korean\SDK 경로에 보시면 위에서 설정한 이름으로 WinCE5_SDK_Korean_SDK.msi가 생성된 것을 보실 수 있습니다
생성된 SDK를 실행하여 설치과정을 진행합니다
정상적으로 설치가 완료되었습니다
8. Visual Studio 2005 설정
Visual Studio – 메뉴 – 도구->옵션 실행
옵션 트리에서 장치도구->장치 선택을 하시면
장치에 우리가 작성한 WinCE5 verKorean이 설치된 것을 보실 수 있습니다
이곳에 입력된 이름은 ExportSDK.sdkcfg의 DeviceEmuation 속성백의 1번 속성백에 있는
ImageName 속성에 정의한 이름이 나오게 됩니다
WinCE5 verKorean을 선택 후 [속성]버튼을 누릅니다
속성 창에서 [전송]을 DMA 전송으로 선택 후 [에뮬레이터 옵션] 버튼을 누릅니다
에뮬레이터 속성의 [일반]탭에는 이미지의 위치와 RAM 크기 지정을 할 수 있습니다
또한 공유 폴더를 지정하여 SD카드를 추가한 것처럼 이용할 수 있습니다
어플리케이션 개발시 PC의 자료를 에뮬레이터로 저장할 때 유용하게 사용됩니다
[표시]탭에서는 스킨과 비디오를 선택 할 수 있는데 우리는 Custom Skin을 이용하지 않았기 때문에 비디오를 선택하고 화면너비와 화면 높이, 색상 수를 정의 합니다
[네트워크]탭에서는 NE200 PCMCIA 네트워크 어댑터를 활성하여 다음에 바인딩 이라는 설정이 있습니다
이는 우리가 1단계에서 추가한 네트워크 어댑터로 개발PC의 네트워크 카드와 바인딩을 통하여
인터넷을 지원하는 기능입니다
이것을 선택 하지 않으면 에뮬레이터 상태에서 크래들에 접속해 ActiveSync를 통하여 인터넷을 지원하는 방법도 있습니다
[확인] 버튼을 눌러 설정을 마무리 합니다
9. VS2005 장치 에뮬레이터 관리자 동작 시험
Visual Studio – 메뉴 – 도구->장치 에뮬레이터 관리자 실행
장치 에뮬레이터 관리자를 실행하면 우리가 생성하여 설치한 WinCE5_SDK_Korean과
에뮬레이터 이름 WinCE5 verKorean을 보실 수 있습니다
※ 주 : 만약 보이지 않으면 [새로 고침]을 눌러보세요
WinCE5 verKorean을 선택 후 오른쪽 마우스 클릭으로 팝업 메뉴를 띄워 [연결]을 누릅니다
다음과 같은 화면이 나오면 성공한 것 입니다
Device Emulator – 내 장치-Storage Card가 설치된 것을 보실 수 있습니다
개발PC의 폴더의 파일과 동일한 정보가 들어가 있는 것을 볼 수 있습니다
내장된 인터넷 익스플로어로 네이버 PDA사이트에 접속한 모습입니다
자체 장치인 Ethernet Card를 추가해 둔 상태이기 때문에 ActiveSync와 접속이 안되어도 인터넷이 됩니다
10. 마치며...
이상으로 PB5를 이용하여 VS2005의 에뮬레이터 SDK를 생성하여 설치하는 것을 보았습니다
사실 이 문제가 해결되지 않아 약 한달간 고생하였습니다.
정확하게는 설명문서를 잘 읽지 않았다는 것이 가장 큰 이유중 하나 입니다
기본적인 환경을 한번 직접 해 본다면 그 다음부터는 많은 성장에 도움이 될 것 입니다
이 글을 작성한 계기는 자신에 대한 백업 이기도 하고, 또 이런 문제로 고생하시는 분들께 도움이 될까 해서 입니다
[Partition Driver] Catalog View: Core OS->Windows CE Devices->File Systems and Data Store-> Storage Manager->Partition Driver
[FAT File System] Catalog View: Core OS->Windows CE Devices->File Systems and Data Store->Storage Manager->FAT File System
이 세가지 파일 추가로 에뮬레이터에서 파일을 저장하고 읽어올 수 있는 환경을 정의한다
5. 한국어 폰트 추가
[한국어 폰트 굴림체 추가] Catalog View: Core OS->Windows CE Devices->International->Locale Specific Support->Korean->Fonts->Gulim (GL_CE) Catalog View: Core OS->Windows CE Devices->International->Locale Specific Support->Korean->Fonts->Gulim & GulimChe (Choose 1)->Gulim & GulimChe (Subset 1_30)
[한국어 기능 추가] Catalog View: Core OS->Windows CE Devices->International->Locale Specific Support->Korean->Input Method Editor->IME 97
[한국어 입력기 추가] Catalog View: Core OS->Windows CE Devices->International->Locale Specific Support->Korean->Input Method –>Korean Soft Keyboard Sample
6. 플랫폼 환경설정
Menu - Platform->Settings… 선택
[Locale] 탭에서 다음과 같이 설정한다
Locales : 한국어 추가 Default language : 한국어 선택
[OK]를 눌러 환경설정을 저장한다
7. 이미지 빌드
Menu – Build OS->Sysgen 선택
※ 주의 : 초급자는 Build and Sysgen 이나 Clean Before Buildig은 실행하지 않는 것이 좋다 자칫하다가 포맷하는 깔끔한 경우가 생긴다 (진짜다!)
화면의 Copy Files to Release Directory After Build와 Make Run-Time Image After Build가 설정되어있는 것을 볼 수 있는데, 이는 SDK생성을 위해 필요한 과정이니 설정하는것이 좋다 만약, 이 과정을 못거쳤을 경우, 아래 Copy Files to Release Directory와 Build와 Make Run-Time Image를 따로 실행하여도 무방하다
Sysgen이 완료될 때까지 느긋하게 기다린다 (시스템 성능에 따라 대략 5분에서 10분 소요)
8. Build 완료
위에서 작성한 모든 과정에 특별한 에러가 없을경우 Sysgen은 종료하고 릴리즈 디렉토리 복사와 이미지 생성까지 완료한 화면이다
Platform Builder 5를 이용하여 VS2005 에뮬레이터 SDK를 생성하기는 총 3단계로 진행될 것 입니다
1단계 : Platform Builder 5 - Workspace 생성
2단계 : OS Design
3단계 : SDK 생성 및 SDK설치와 VS2005 설정
이렇게 진행될 예정입니다
이 메뉴얼은 ARMV4I 에뮬레이터를 위한 BSP를 설명하는 문서입니다. 이 문서에 사용되는 BSP는 마이크로소프트 사이트에서 ARMV4I BSP for Windows CE 5.0의 검색 키워드로 BSP를 다운로드 할 수 있습니다. 또한 설치된 BSP 폴더에서 이 문서의 원본을 보실 수 있습니다. 이 BSP를 사용하면 드라이버 추가나 OS의 개발에 있어 BSP적인 부분을 에뮬레이터로 실습해 볼 수 있고 소프트웨어적으로 구현되는 응용프로그램등을 하드웨어 없이 개발 할 수 있을 것 같습니다.^^
- Jaegeol Kim
3soft
12 April 2007
개발 분류
·PB 개발자
oBSP 설치
oOS 구성과 빌드
oSDK 설정
o디바이스 에뮬레이터 환경 설정
oSDK 빌드
·App 개발자
oSDK 설치
oVS 2005에서 환경설정
o스마트 디바이스 프로젝트 생성
o스마트 디바이스 프로젝트 실행하기
PB 개발자
- BSP 설치
1. BSP 설치파일을 실행하기 전에 PB5.0은 설치 되어 있어야 하며 ARMV4I을 지원하고 있
어야한다.
2. PB 5.0이 설치된 컴퓨터로 다운로드 한 DeviceEmulatorBSP.MSI를 설치한다.
- OS 구성과 빌드
3. PB를 실행한다. 카테고리 뷰의 BSPs 폴더 아래에 있는 Microsoft Device Emulator :
ARMV4I을 확인한다.
4. New Platform Wizard를 실행하고 프로젝트 명을 입력한 후 다음을 눌러 Microsoft
Device Emulator BSP를 선택한다.
5. OS 구성에 앞서 다음의 항목들을 고려 해야 한다.
a. 모델선택에서 경우에 따라 옵션 사항들을 아래와 같이 설정한다.
i. 플랫폼 모델을 Enterprise Web Pad로 선택하였을 때 아래의 사항을 확인 해
해야 한다. Internet appliance는 아래의 수정을 안해도 된다(기본으로 유선이 설정
되어 있음)
ii. "Wireless" 속성은 제거하고 "Wired"는 추가하는 것으로 LAN 지원 속성을 수정
하였으며 아래의 경로에서 확인한다. 기본으로 설정되어 있다.
1. OS Design View : 플래폼 워크스페이스 -> Communication Services and
Networking -> Networking -> Local Area Network(LAN)
iii. NE2000 - Compatible PCMCIA card 카테고리 아이템을 추가하였고 확인경로는 아
래와 같다.
1. Catalog View : Device Drivers -> Networking -> Local Area Networking
(LAN) devices -> NE2000 - compatible(PCMCIA card)
b. VS 2005의 매니지 응용프로그램(닷넷 응용프로그램) 지원에 대해
SYSGEN_WCELOAD이 필요하며 확인경로는 아래와 같다.
i.Catalog View: Core OS->Windows CE Devices->Applications ? End User->CAB File Installer/Uninstaller
닷넷 컴팩트 프레임 워크 추가에 대해서는 닷넷 응용프로그램을 하면서 설명
하겠습니다. 이 항목은 확인 안하셔도 됩니다.
i.Partition Driver 1.Catalog View: Core OS->Windows CE Devices->File
Systems and Data Store-> Storage Manager->Partition
Driver
ii. FAT File System
1. Catalog View: Core OS->Windows CE Devices->File Systems and
Data Store->Storage Manager->FAT File System
6. 이미지를 빌드한다. (Build OS -> Sysgen.)
SDK 환경 설정
7. Platform -> SDK -> New SDK. 마법사를 통해 진행한다.
8. Platform -> Configure SDK. 세팅된 것을 확인한다.
다바이스 에뮬레이터 설정을 구성한다.
9. 빌드 윈도우를 연다 : Build OS -> Open Release Directory.
10. 다음의 파일들을 백업한다 : %_PROJECTROOT%\..\..\ExportSdk.sdkcfg.
11. 에디터를 사용하여 이 파일을 연다.(이 파일은 간단한 XML 텍스트이다.)
12. SDK가 사용자 스킨을 지원할것인지를 아래의 코드와 같이 사용한다.
a. 사용자 스킨을 사용할 때 : 노란색 라인은 수정할 항목이다.
a. 사용자 스킨이 없을 때 : 노란색 라인은 수정할 항목이다.
두 가지의 코드에서 볼수 있듯이 다른 점은 "Default Skin" 프로퍼티와 "Skins"프로퍼티이다.
13. 위 코드중에 어느 한쪽을 ExportSdk.sdkcfg 파일에 입력한다. "DeviceEmulation" 속성
같은 것은 최상위 루트 노드의 자식 노드이다. 예를들면 이 속성은 "Emulation 속성과 같
은 레벨에 있다. 먼저 사용자 스킨이 없는 것으로 해보기 위해 아래 있는 코드를
ExportSdk.sdkcfg파일을 열어 DeviceEmulation 속성백에 입력한다.
14. "DeviceEmulation" 속성백에 아래의 속성들을 수정한다.
a. ImageName : 응용 개발자는 VS IDE에서 이미지 이름을 확인할 수 있다.
필자는 Jaegeol_ARMV4I를 입력한다.
b. VMID : 유일한 이미지 ID이며 GUID로서 이미지를 식별하기 위한 것이다 정도로 이해
하고 넘어가자. 이것은 128비트로 되어 있는데 guidgen.exe 또는 http://www.guidgen.com/Index.aspx 왭사이트에서 받을 수 있다. 사이트
링크를 열면 Create new GUID가 있다. 눌러 하나 생성하여 이 속성에 입력
한다. 필자는 {c902f763-ec1a-11db-9707-00e08161165f}를 입력한다.
c. Height/Width : 화면에 보여지는 스크린 가로, 세로 크기이다.
d. BitDepth : 컬러 비트수.
e. Memory : 디바이스가 할당하는 램 크기.
f. DPIX/DPIY : 스크린 해상도
스킨 지원에 대하여, "DeviceEmulation/1/Skins/DE 1" 아래의 다음의 속성들을
수정한다.
g. Display_Name : 화면에 보여지는 에뮬레이터 이름
h. Destination : SDK가 설치된 경로에 스킨 XML 파일을 지정한다.
i. DisplayHeight / DiplayWidth : 스크린 크기.
15. 스킨의 지원을 하는것과 아닌것에 따라 아래의 코드를 입력한다.
[노트 : 노란색 라인은 수정할 라인들이다.]
a. 스킨 지원
"Added Files" 속성백을 입력한다. 이 속성백은 "DeviceEmulation" 속성백과 같은
레벨이다.
b. 스킨 지원이 없을 때
Note : 추가적인 파일들을 추가 하기 위해 SDK를 구성하였다면 "Added Files"속성백은
분명히 있어야 한다. 그리고 자식 속성백인 ("{3B388597-0924-4102-ADFA-
2519D2C3E11B}" and/or "{4C76DDF6-B89A-4f63-8FC7-
3EE50FC7BF80}")도 함께 있어야한다. 위 코드를 스킨 지원 여부에 따라 복사한다.
하지만 이것은 IDE에서도 위저드를 통해 설정할 수 있다. (Platform -> SDK -> Configure
SDK...) 음..테스트 해보니 위저드가 GUID는 알아서 만든는 것 같다..^^
16. Added Files"속성백은 다음을 고려해야 한다
a. "3B388597-0924-4102-ADFA-2519D2C3E11B" 속성백 :
i. Source : 이 속성백은 소스라고 하며 %_PROJECTROOT%\..\..\폴더에
있는 디바이스 에뮬레이션 nk.bin 파일이지만 폴더라고 생각하면 된다.
폴더에는 최종 nk.bin파일 외에는 다른 이미지 (bin)파일이 없어야 하는 것을
권장한다. 왜냐면 SDK 롤러(음..영어의 표현은 재미 있는 것이 마니 있군..^^)
는 빌드하는 과정에서 이 폴더에 있는 것들을 하나로 만들어 버리기 때문이다.
필자의 경우 아래와 같이 하였다.
C:\WINCE500\PBWorkspaces\Jaegeol_ARMV4I\Bin
b. 스킨 지원하는 Added Files"속성백 : "4C76DDF6-B89A-4f63-8FC7-3EE50FC7BF80" 속성백 :
i. Source : 이 속성백은 스킨폴더를 지정하는 것이다. 스킨을 만드는 것에 대해
서는 MSDN을 참고한다. 어려운 것은 없으니 함 보시면 될 듯 싶습니다.
스킨폴더를 지정하면 SDK설치 후 아래 Destination에서 지정한 폴더의 이
름으로 SDK 루트에 설치된다.
ii. Destination : 스킨폴더를 지정하는 것으로 SDK 루트에서 어디에 설치 할 것인
가를 결정하는 것으로 "DeviceEmulation/1/Skins/DE 1"의 Destination 에
서 지정한 폴더이름과 같은 것으로 하면 된다.
17. ExportSdk.sdkcfg 파일을 저장한다.
빌드 SDK
18. 빌드를 아래의 두 가지 방법 중 하나를 선택하여 한다.
a. PB 에서 Paltform -> SDK -> Build SDK
b. Command-line:
<PBInstallFolder> cepb\bin\buildsdk.exe %path_to_workspace_pbxml_file%
자~ 디바이스에뮬레이터매니저를 이용하여 에뮬레이터를 실행 해 보자~~
위는 필자가 이미지를 만들고 SDK를 구성하여 설치한 것이다. 스킨을 사용해서 그런
지 에뮬레이터가 실제품같이 보인다.~~