Postanowiłem pobawić się w budowę systemu WinCE 5.0 za pomocą Platform Builder Evaluation 120-dni. Zainteresował mnie WinCE 5.0 dla platformy x86 czyli zwykłego PC. Przygotowałem świeży system WinXP SP2 w maszynie wirtualnej i zainstalowałem tam Platform Builder wybierając tylko platformę x86. W pakiecie jest kilka gotowych sterowników do różnych popularnych urządzeń np. do karty sieciowej RTL8139, karty dźwiękowej Ensoniq ES1371 itp.
Tak się składa iż mam akurat komputer z kartą RTL8139. Po dodaniu sterownika RTL i wyłączeniu KITL zbudowałem bez problemu WinCE 5.0 z działającym połączeniem sieciowym. Udało mi się także dodać 2 popularne programy ResInfo i RegEditCE:
Posiadam też komputer z mostkiem południowym VIA8233A - zintegrowany układ dźwiękowy. Znalazłem w internecie sterowniki dźwięku VIA AC''97: uam3059_v2.339_for_ce50.zip. W pakiecie jest instalator który dodaje wszystko automatycznie do Platform Builder''a
. Po dodaniu budujemy system w ten sposób:
Wszystko działa, sieć LAN i internet oraz dźwięk. Można słuchać MP3 bez problemu
Można też dodać inne sterowniki audio do tego samego obrazu systemu WinCE. Odpowiedni sterownik zostanie wówczas automatycznie dobrany i wykorzystany w zależności od danej karty dźwiękowej. PB5 zawiera sterowniki do kart zgodnych z SoundBlaster 128 i 16. Sterowniki te można wykorzystać do uruchamiania systemu WinCE w maszynach wirtualnych. VMware potrafi emulować oba modele
. Domyślnie emuluje SB128 PCI ale można też wymusić emulację SB16 dodając odpowiedni wpis w pliku konfiguracyjnym .vmx maszyny wirtualnej:
Nie sprawdzałem innych wersji VMware ale w Workstation 8 dźwięk jest dostępny tylko w maszynie wirtualnej w wersji hardware 4 lub 5 i gdy zmienimy ustawienie w BIOS''ie - Installed O/S: na Win95. Dźwięk jest idealny przy emulacji SB16 natomiast przy domyślnej emulacji SB128 są jakieś zakłócenia (pyknięcia). MS VirtualPC emuluje SB16 i tam dźwięk też jest idealny - czyściutki
Sterownik SB128 można dodać w prosty sposób wybierając z katalogu Ensoniq ES1371 (Unified), natomiast sterownika SB16 - Emulator Waveform Audio Device nie da się dodać w taki sposób ponieważ jest dla platformy Emulator: x86. Aby wykorzystać sterownik wavedev.dll w platformie CEPC: x86 trzeba go najpierw zbudować w platformie Emulator: x86 a następnie skopiować do lokalizacji: C:WINCE500PLATFORMCEPCFILES i ręcznie zmodyfikować kilka plików. W pliku C:WINCE500PLATFORMCEPCFILESplatform.reg między IF BSP_NOAUDIO ! - ENDIF BSP_NOAUDIO ! dodać wpis:
W pliku C:WINCE500PLATFORMCEPCFILESplatform.bib w sekcji MODULES między IF BSP_NOAUDIO ! - ENDIF BSP_NOAUDIO ! dodać wpis:
W ten sposób uzyskamy uniwersalny obraz systemu WinCE 5.0 ze sterownikami dźwięku VIA, SB16 i SB128. W moim przypadku dźwięk jest dostępny gdy uruchomię WinCE x86 w VMware, MS VirtualPC lub na prawdziwym PC z mostkiem południowym VIA
Warto też zwiększyć alokację pamięci RAM max. do 512MB ale uwaga - jeśli w PC zainstalowanej pamięci jest mniej niż zaalokowanej to WinCE nie uruchomi się! Alokację ustawiamy w pliku C:WINCE500PLATFORMCEPCFILESconfig.bib w sekcji MEMORY np. 128MB:
P.S.Na temat konfiguracji pamięci znalazłem ciekawy plik PDF na stronie producenta Vortex: WinCE_Development_Note.pdf
W szablonie Internet Appliance są też domyślnie sterowniki USB Human Input Device (HID) Class Driver dzięki temu mam WinCE 5.0 na pilota od XBMC
Tak się składa iż mam akurat komputer z kartą RTL8139. Po dodaniu sterownika RTL i wyłączeniu KITL zbudowałem bez problemu WinCE 5.0 z działającym połączeniem sieciowym. Udało mi się także dodać 2 popularne programy ResInfo i RegEditCE:
Posiadam też komputer z mostkiem południowym VIA8233A - zintegrowany układ dźwiękowy. Znalazłem w internecie sterowniki dźwięku VIA AC''97: uam3059_v2.339_for_ce50.zip. W pakiecie jest instalator który dodaje wszystko automatycznie do Platform Builder''a
- Uruchamiamy PB i wybieramy New platform i CEPC: X86
- Wybieramy szablon Internet Appliance
- W oknie Appclications & Media zaznaczamy Windows Media Player - potrzebny do odtwarzania plików MP3
- Dodajemy sterowniki RTL8139 i VIA Audio
- Wyłączamy KITL aby nie było problemów z siecią i drugiego połączenia sieciowego VMINI1.
Odznaczamy opcję: Enable KITL (no IMGNOKITL=1) w menu Platform -> Settings... -> zakładka Build Options - Budujemy system wybierając Sysgen
Wszystko działa, sieć LAN i internet oraz dźwięk. Można słuchać MP3 bez problemu
Można też dodać inne sterowniki audio do tego samego obrazu systemu WinCE. Odpowiedni sterownik zostanie wówczas automatycznie dobrany i wykorzystany w zależności od danej karty dźwiękowej. PB5 zawiera sterowniki do kart zgodnych z SoundBlaster 128 i 16. Sterowniki te można wykorzystać do uruchamiania systemu WinCE w maszynach wirtualnych. VMware potrafi emulować oba modele
sound.virtualDev = "sb16"Nie sprawdzałem innych wersji VMware ale w Workstation 8 dźwięk jest dostępny tylko w maszynie wirtualnej w wersji hardware 4 lub 5 i gdy zmienimy ustawienie w BIOS''ie - Installed O/S: na Win95. Dźwięk jest idealny przy emulacji SB16 natomiast przy domyślnej emulacji SB128 są jakieś zakłócenia (pyknięcia). MS VirtualPC emuluje SB16 i tam dźwięk też jest idealny - czyściutki
Sterownik SB128 można dodać w prosty sposób wybierając z katalogu Ensoniq ES1371 (Unified), natomiast sterownika SB16 - Emulator Waveform Audio Device nie da się dodać w taki sposób ponieważ jest dla platformy Emulator: x86. Aby wykorzystać sterownik wavedev.dll w platformie CEPC: x86 trzeba go najpierw zbudować w platformie Emulator: x86 a następnie skopiować do lokalizacji: C:WINCE500PLATFORMCEPCFILES i ręcznie zmodyfikować kilka plików. W pliku C:WINCE500PLATFORMCEPCFILESplatform.reg między IF BSP_NOAUDIO ! - ENDIF BSP_NOAUDIO ! dodać wpis:
[HKEY_LOCAL_MACHINEDriversBuiltInWaveDev]
"Prefix"="WAV"
"Dll"="wavedev.dll"
"Index"=dword:1
"Order"=dword:0
"Irq"=dword:5
"SysIntr"=dword:15
"Dma"=dword:5
"IoBase"=dword:220
"Mixer_Master"=dword:0000
"Mixer_PCM"=dword:0000
"Mixer_PC_Beep"=dword:0000
"Mixer_Headphones"=dword:8000
"Mixer_Mic"=dword:8000
"Mixer_LineIn"=dword:8000
"Mixer_CD"=dword:8000
"Mixer_DVD"=dword:0000
"Mixer_TV"=dword:8000
"Mixer_REC_Select"=dword:0000
"Mixer_REC_Gain"=dword:0F0F
; DEVCLASS_MIXER_GUID: this driver supports the mixer API
"IClass"=multi_sz:"{37168569-61C4-45fd-BD54-9442C7DBA46F}"
; Set SW Mixer rate to 22050 - driver doesn''t handle 44100
[HKEY_LOCAL_MACHINEAudioSoftwareMixer]
"SampleRate"=dword:5622
W pliku C:WINCE500PLATFORMCEPCFILESplatform.bib w sekcji MODULES między IF BSP_NOAUDIO ! - ENDIF BSP_NOAUDIO ! dodać wpis:
wavedev.dll $(_FLATRELEASEDIR)wavedev.dll NK SHW ten sposób uzyskamy uniwersalny obraz systemu WinCE 5.0 ze sterownikami dźwięku VIA, SB16 i SB128. W moim przypadku dźwięk jest dostępny gdy uruchomię WinCE x86 w VMware, MS VirtualPC lub na prawdziwym PC z mostkiem południowym VIA
Warto też zwiększyć alokację pamięci RAM max. do 512MB ale uwaga - jeśli w PC zainstalowanej pamięci jest mniej niż zaalokowanej to WinCE nie uruchomi się! Alokację ustawiamy w pliku C:WINCE500PLATFORMCEPCFILESconfig.bib w sekcji MEMORY np. 128MB:
MEMORY
IF IMGRAM16 !
IF IMGRAM32 !
IF IMGRAM64 !
NK 80220000 009E0000 RAMIMAGE
RAM 80C00000 07100000 RAM
ENDIF
ENDIF
ENDIF
P.S.Na temat konfiguracji pamięci znalazłem ciekawy plik PDF na stronie producenta Vortex: WinCE_Development_Note.pdf
W szablonie Internet Appliance są też domyślnie sterowniki USB Human Input Device (HID) Class Driver dzięki temu mam WinCE 5.0 na pilota od XBMC