24. Nov 2024, 05:55

Log von WinCE

Started by Hoernchen, 22. Feb 2008, 18:45

previous topic - next topic
Go Down

Hoernchen

War mal neugierig was Windows CE so zu sagen hat :
Quote

[...bootloader blabla..]
Windows CE Kernel for MIPS Built on Mar 29 2005 at 14:00:54
Kiss_Hal_InitBoardConfig()
*** OALPCIInit: USE TLB
+OEMInit: cpu_frequency 297000000
+OEMInit: dram_config   e34111ba
+OEMInit: dram_delay    00096455
WARN: OALKitlInit: KITL Disabled
Kiss_Hal_InitWatchDog()
+Mapping DRAM@0x20000000 to 0x0C000000
+Adding DRAM@8e700000 size 00de3000 as extension
+Adding DRAM@917c4000 size 0063c000 as extension
+Adding DRAM@93a00000 size 003bb000 as extension
OEMIoControl: Unsupported Code 0x10100b4 - device 0x0101 func 45
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
OEMIoControl: Unsupported Code 0x10100cc - device 0x0101 func 51
OEMIoControl: Unsupported Code 0x10100d0 - device 0x0101 func 52
OEMIoControl: Unsupported Code 0x10100f8 - device 0x0101 func 62
Loading library 'iptvhal_300.dll'
CheckDll: NDIS.Dll returns TRUE
CheckDll: CXPORT.dll returns TRUE
CheckDll: NDIS.dll returns TRUE
CheckDll: tcpstk.dll returns TRUE
CheckDll: NDIS.dll returns TRUE
CheckDll: CXPORT.dll returns TRUE
DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\BuiltIn\AFD). Driver cannot be unloaded.
CheckDll: AFD.Dll returns TRUE
CheckDll: CXPORT.dll returns TRUE
CheckDll: CXPORT.dll returns TRUE
CheckDll: NDIS.dll returns TRUE
CheckDll: tcpstk returns TRUE
*** TV2/Offload-enabled TcpStack ***
CheckDll: afd.dll returns TRUE
CheckDll: CXPORT.dll returns TRUE
CheckDll: tcpstk.dll returns TRUE
CheckDll: tcpstk.dll returns TRUE
CheckDll: tcpstk returns TRUE
CheckDll: TcpStk.dll returns TRUE
[ConfigLBA48] Device supports 48-bit LBA
[ConfigLBA48] Max LBA Address = 0x0000000012a19eb0DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\BuiltIn\PPP). Driver cannot be unloaded.
CheckDll: tcpstk.dll returns TRUE
CheckDll: NDIS.dll returns TRUE
[TIMESVC DST]  Notifying kernel that we are in Standard time.  GetTimeZoneInformation currently thinks we are in Standard time.
  DwXfer!ReadSettings: Dump Settings CRC or size failure!, Expected CRC=0xC5452B1F, Actual CRC=0x0001E1EC, Expected Size=1068, Actual Size=0
  DwXfer!ReadSettings: Using default values for dump settings
  DwXfer!FValidateAndCreatePath: Cannot create a root path (\Hard Disk2).
  DwXfer!CreateDumpDirectory: FValidateAndCreatePath failed creating dump directory, hRes=0x80070057
  DwXfer!TransferRegistrySettings: CreateDumpDirectory failed creating dump directory, hRes=0x80070057
[TIMESVC DST]  Set TimeChange Event for 4/6/2003 at 2:00
[TIMESVC DST] Waiting...
GPEFlat: configured screen mode is -1, using internal mode 0
OEMIoControl: Unsupported Code 0x10100fc - device 0x0101 func 63
Loading library 'iptvhal_300.dll'
[BooterCE] Found large (>128GB) disk with at least one large partition -- no reformat needed
Igmp V3, DefaultTOSValue=96

CheckDll: MAC86XX.dll returns TRUE
CheckDll: NDIS.dll returns TRUE
Loading library 'iptvhal_300.dll'
MAX86XX ***Thin version*** started!
[MPInitialize]
Exception 002 Thread=93c2acc8 Proc=33d7086a 'device.exe'
AKY=00000089 PC=03db26e4(ceddk.dll+0x000026e4) RA=9341e67c(mac86xx.dll+0x0004367c) BVA=00000000
Exception 018 Thread=93c2acc8 Proc=33d7086a 'device.exe'
AKY=00000089 PC=03f74f94(coredll.dll+0x00024f94) RA=91e0cc90(NK.EXE+0x0000cc90) BVA=00000000
  DwXfer!CreateDumpFile: Creating Dump File=\Hard Disk2\TV2ClientCrashLogs\Ce010103-02\Ce010103-02.kdmp
  DwXfer!TransferDumpFile: Dump file transfered to local file system, Size=0x00013500, Name=\Hard Disk2\TV2ClientCrashLogs\Ce010103-02\Ce010103-02.kdmp
  DwXfer!TransferDumpFile: Error launching upload client '', Error=0x00000002
Failed to find default network adapter!
Failed to initialize network wizard!
Adapter not present.
Adapter not present.
Adapter not present.
Adapter not present.
Adapter not present.
Adapter not present.
[..usw..]


Nunja. Leider nicht viel, das es mittendrin abkackt, was wohl daran liegt das ich die nk.bin der bt-Debugversion genommen hab, da da die Treiber für den seriellen Port enthalten sind.
Wer es selber mal versuchen will: nk.bin der BT-Vision-Debugversion benutzen, "unseren" BooterCe.exe reinpatchen, mittels fdf2reg und reg2fdf (-4 nicht vergessen !) von hier die default.fdf modifizieren
Code: [Select]
[HKEY_LOCAL_MACHINE\Drivers\Console]
"OutputTo"=dword:00000001
"COMSpeed"=dword:0001c200
und los geht der Spass.
bringer of linux, conqueror of hdmi, jack of all trades.

mce2222

weisst du denn in welcher Datei der serielle Treiber steckt ? den könnte man ja auf jeden Fall gebrauchen wenn man mit WinCE rumspielt.
Es sollte machbar sein den Treiber in unser NK.BIN zu importieren.

Hoernchen

Das müsste com16550Philips_lib.dll und isr16550Philips.dll sein, zumindest fielen mir die beiden Dateien ins Auge und dadurch kam ich erst auf die Idee das die Debugversion ihren seriellen Port überhaupt benutzt. Ich hab aber keine Ahnung ob da noch was im Kernel anders ist. Meine Versuche eine eigene nk.bin aus den extrahierten Telekomdateien mit den platformbuilder-tools zu bauen schlugen auch fehl, weil zum generieren .rel-Dateien mit Fixups gebraucht werden die ich natürlich alle nicht habe.
Das sieht dann so aus :
Code: [Select]
C:\WINCE500\WS>C:\WINCE500\PUBLIC\COMMON\OAK\BIN\I386\romimage.exe C:\WINCE500\WS\tkom\files.txt
Windows CE ROM Image Builder v4.0.120 Copyright (c) Microsoft Corporation
Built: Jun 16 2004 15:11:51

Pass 1...

Error: Module nk.exe relocations stripped, remove -fixed from link command
Rel files are required to load the code section of modules into slot 1 and therefore freeing up more virtual memory space in slot 0.
Warning: No .rel file found for module celog.dll, using old fixup style.
Warning: No .rel file found for module gpio.dll, using old fixup style.
Warning: No .rel file found for module keypad.dll, using old fixup style.
Warning: No .rel file found for module led.dll, using old fixup style.
Warning: No .rel file found for module scart.dll, using old fixup style.
Warning: No .rel file found for module tv2_stack_bypass.dll, using old fixup style.
Error: Module nk.exe relocations stripped, remove -fixed from link command
Error: Found NULL or missing TOC pointer for nk.exe


Im Prinzip könnte man sich sonst mit der romimage.exe beliebige neue nk.bins zusammenbauen, ich wollte eigentlich so die Treiber für den seriellen Port einbauen, aber als das nicht klappte hab ich nach 8h Herumfiddeln die Lust verloren und direkt die bt-debugversion gebootet ;)
Hab mal meine files.txt angehängt, die ich mühevoll per Hand nach Schema F zusammengebaut habe (einfach bei zwei anderen Platform Builder-Projekten geschaut was in der ce.bib so drinsteht und meine Schlüsse raus gezogen wie es etwa aussehen sollte).
bringer of linux, conqueror of hdmi, jack of all trades.

mce2222

#3
29. Jul 2008, 01:36 Last Edit: 29. Jul 2008, 01:41 by mce2222
nun bin ich doch noch auf ein interessantes tool gestossen.

http://blogs.msdn.com/mikehall/archive/2004/07/26/197337.aspx

damit kann man ganz locker fertige .exe und .dlls in den system build integrieren... zumindest hört sich das so an.
wenn ich das richtig sehe, dann funktioniert das ganze sowohl mit FILES als auch MODULES.

man müsste damit eine SMP863x component erzeugen können, in der alle Sigma driver enthalten sind, so dass man
auf ganz normalem weg ein NK.BIN erzeugen kann ... inklusive aller driver die wir brauchen.
hört sich irgendwie zu einfach an oder ??

mal sehen ob ich in den nächsten Tagen mal dazu komme das auszuprobieren.

mce2222

kaum zu glauben .. es ist wirklich so einfach.

ich hab es mit Visual Studio 2005 SP1 + Platform Builder 6.0 R2 ausprobiert.
Dafür benötigt man allerdings eine neuere Version von dem Tool.. das gibts hier  http://blogs.msdn.com/mikehall/archive/2006/11/30/ce-6-0-cefilewiz.aspx

ich brauchte nur das OS-Design Project auswählen... dann hat das tool gleich erkannt das es sich um ein WinCE6.0 handelt (es supported aber auch WinCE5.0) .. dann alle Treiber Dateien ausgewählt, und in wenigen Sekunden war meine "SMP863x"-Componente fertig.
Die brauchte ich dann nur noch im OS-Design Project als Subproject auswählen und das wars.

Nach einem "build solution" hat er mir dann ein feines NK.BIN gebaut wo alle Treiber enthalten waren.. sogar als Module...
was ich noch nicht gemacht hatte, war die ganzen notwendigen Registry settings in meine SMP863x Componente einzufügen.

und was ich auch noch nicht weiss, ist ob die Treiber überhaupt mit WinCE6 funktionieren... wenn nicht, dann muss ich alles noch mal neu installieren, denn ich glaube WinCE5 und WinCE6 vertragen sich nicht in einer Visual Studio Installation.

Go Up