Hi,
i'm working on a x86 system based on VIA CX700 chipset under Windows CE
6.0, this system work correctly but sometime during startup doesn't
arrive to the desktop remaining into the black screen.
I discovered that the problem is in system.hv file, being replaced with
a backup copy, the problem disappears.
The file doesn't seems corrupt but probably it contain a 'wrong' key
that prevents the proper boot.
I tried in vain to edit the two files to compare them, so I want to
block calls to 'RegFlushKey' to create a sort of 'Registry Write Filter'
and enable it through a flag.
At this point my problem is to find 'RegFlushKey' code to recompile it,
I've find a 'NKRegFlushKey' into
C:\WINCE600\PRIVATE\WINCEOS\COREOS\NK\KERNEL\fscall.c but using
additonal DEBUGMSG it seems that the code does not move from there.
Can someone may refer to the portion of code to change or any
suggestions to prevent system block.
Thanks,
Massimo
|
|
0
|
|
|
|
Reply
|
Massimo
|
1/26/2010 2:20:38 PM |
|
That is unusual, could you have a problem with the disk that you are using?
Seems like you are trying to mask a bigger problem. Where in the boot
process does it stop?
I suspect that even though you changed that file, you didn't actually build
it.
--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT Eurotech DOT com
My BLOG http://geekswithblogs.net/bruceeitman
Eurotech Inc.
www.Eurotech.com
"Massimo" <massimo@fake.it> wrote in message
news:hjmtnl$c2u$1@speranza.aioe.org...
> Hi,
> i'm working on a x86 system based on VIA CX700 chipset under Windows CE
> 6.0, this system work correctly but sometime during startup doesn't arrive
> to the desktop remaining into the black screen.
> I discovered that the problem is in system.hv file, being replaced with a
> backup copy, the problem disappears.
> The file doesn't seems corrupt but probably it contain a 'wrong' key that
> prevents the proper boot.
> I tried in vain to edit the two files to compare them, so I want to block
> calls to 'RegFlushKey' to create a sort of 'Registry Write Filter' and
> enable it through a flag.
> At this point my problem is to find 'RegFlushKey' code to recompile it,
> I've find a 'NKRegFlushKey' into
> C:\WINCE600\PRIVATE\WINCEOS\COREOS\NK\KERNEL\fscall.c but using additonal
> DEBUGMSG it seems that the code does not move from there.
>
> Can someone may refer to the portion of code to change or any suggestions
> to prevent system block.
>
> Thanks,
> Massimo
|
|
0
|
|
|
|
Reply
|
Bruce
|
1/26/2010 2:58:47 PM
|
|
Hi Bruce,
I excludes the disk because replacing system.hv 'bad' with a 'good' one
the system works, if we replace it again with the 'bad' the system
return not working.
Unfortunately, my nk.bin is a release version with a few debug messages
also do not have the network do not have the chance to do much more,
this is the log:
-----------------------------------------------------------------------
Debug Serial Init
SysInit: GDTBase=81dc2000 IDTBase=81dce3a0 KData=81dc9800
Windows CE Kernel for i486 Built on May 9 2008 at 10:19:17
INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
SECO Settings -> Keyboard PS/2 Enabled
[VIA BSP CEPC:x86] BSP version: 3.41 for WINCE6.0 Jan 30 2009
11:56:57RTC - Status Reg B - 0x02
Disable VIA EHCI Legacy
MainMemoryEndAddress = 0x8c000000
VIA PowerSaver: Jan 30 2009, 11:56:57VIAPWM.LIB 4.22, Nov 3 2006, 11:35:48
Error Reporting Memory Reserved, dump size = 0004b000
Booting Windows CE version 6.00 for (x86)
Old or invalid version stamp in kernel structures - starting clean!
Configuring: Primary pages: 41418, Secondary pages: 0, Filesystem pages
= 20709
Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 81dd6000, extension: 00015000, length: 0a1ca000
X86Init done, OEMAddressTable = 80225520, RAM mapped = 20000000.
OSAXST0: Platform Name = CEPC
Override Serial Driver: No COM port selected for serial KITL transport,
no override necessary.
Kernel DLL 'msg711.dll' needs thread creation/deletion notification
Kernel DLL 'imaadpcm.dll' needs thread creation/deletion notification
Read IoBase value for serial IOBase = 0x03320
Read IoBase value for serial IOBase = 0x03300
Read IoBase value for serial IOBase = 0x03328
Read IoBase value for serial IOBase = 0x03308
Kernel DLL 'vialh.dll' needs thread creation/deletion notification
Read IoBase value for serial IOBase = 0x03338
Read IoBase value for serial IOBase = 0x03318
Read IoBase value for serial IOBase = 0x03310
Read IoBase value for serial IOBase = 0x03330
Read IoBase value for serial IOBase = 0x03220
!Kernel DLL 'pegassdn.dll' needs thread creation/deletion notification
[UAM HD Audio driver] Driver version: 1.2, May 7 2008, 10:17:36[UAM HD
Audio driver] Registry version: 1.2
[VIAFET] version : 3.65, Dec 12 2006, 16:53:29
Kernel
DLL 'fetce6b.dll' needs thread creation/deletion notification
Kernel DLL 'usbtouch.dll' needs thread creation/deletion notification
SECDisable = 1
Kernel DLL 'k.ws2.dll' needs thread creation/deletion notification
DDI_VIA.DLL Version 6.0.0.33.40905 , May 16 2008 , 12:20:45
Unhandled exception c0000005:
Terminating thread 87083b00
-----------------------------------------------------------------------
The problem probably is inside video driver registry key but i don't
know how find it.
Massimo
Il 26/01/2010 15.58, Bruce Eitman [eMVP] ha scritto:
> That is unusual, could you have a problem with the disk that you are using?
> Seems like you are trying to mask a bigger problem. Where in the boot
> process does it stop?
>
> I suspect that even though you changed that file, you didn't actually build
> it.
>
|
|
0
|
|
|
|
Reply
|
Massimo
|
1/27/2010 7:39:05 AM
|
|
Hi,
Did you considder using RAM based registry ?
That way your OS will always boot "clean".
You might need to make some customisations if you use persistent data (like
touch-calibration)
Kind regards,
Rob.
www.robtso.nl
"Massimo" wrote:
> Hi,
> i'm working on a x86 system based on VIA CX700 chipset under Windows CE
> 6.0, this system work correctly but sometime during startup doesn't
> arrive to the desktop remaining into the black screen.
> I discovered that the problem is in system.hv file, being replaced with
> a backup copy, the problem disappears.
> The file doesn't seems corrupt but probably it contain a 'wrong' key
> that prevents the proper boot.
> I tried in vain to edit the two files to compare them, so I want to
> block calls to 'RegFlushKey' to create a sort of 'Registry Write Filter'
> and enable it through a flag.
> At this point my problem is to find 'RegFlushKey' code to recompile it,
> I've find a 'NKRegFlushKey' into
> C:\WINCE600\PRIVATE\WINCEOS\COREOS\NK\KERNEL\fscall.c but using
> additonal DEBUGMSG it seems that the code does not move from there.
>
> Can someone may refer to the portion of code to change or any
> suggestions to prevent system block.
>
> Thanks,
> Massimo
> .
>
|
|
0
|
|
|
|
Reply
|
Utf
|
1/27/2010 11:04:01 AM
|
|
Hi Bob,
Unfortunately the registry requires a 'dynamic' customization also
during the life of the system, so i must use hive regisry.
Massimo
Il 27/01/2010 12.04, Rob ha scritto:
> Hi,
> Did you considder using RAM based registry ?
> That way your OS will always boot "clean".
> You might need to make some customisations if you use persistent data (like
> touch-calibration)
>
> Kind regards,
> Rob.
> www.robtso.nl
>
>
>
>
> "Massimo" wrote:
>
>> Hi,
>> i'm working on a x86 system based on VIA CX700 chipset under Windows CE
>> 6.0, this system work correctly but sometime during startup doesn't
>> arrive to the desktop remaining into the black screen.
>> I discovered that the problem is in system.hv file, being replaced with
>> a backup copy, the problem disappears.
>> The file doesn't seems corrupt but probably it contain a 'wrong' key
>> that prevents the proper boot.
>> I tried in vain to edit the two files to compare them, so I want to
>> block calls to 'RegFlushKey' to create a sort of 'Registry Write Filter'
>> and enable it through a flag.
>> At this point my problem is to find 'RegFlushKey' code to recompile it,
>> I've find a 'NKRegFlushKey' into
>> C:\WINCE600\PRIVATE\WINCEOS\COREOS\NK\KERNEL\fscall.c but using
>> additonal DEBUGMSG it seems that the code does not move from there.
>>
>> Can someone may refer to the portion of code to change or any
>> suggestions to prevent system block.
>>
>> Thanks,
>> Massimo
>> .
>>
|
|
0
|
|
|
|
Reply
|
Massimo
|
1/27/2010 11:14:35 AM
|
|
No you don't. You can persist a RAM based registry as well, and
protecting that from RegFlushKey is easier that with the hive based
registry because you have full control over the flushing-to-disk code.
See http://msdn.microsoft.com/en-us/library/aa910517.aspx
Good luck,
Michel Verhagen, eMVP
Check out my blog: http://GuruCE.com/blog
GuruCE
Microsoft Embedded Partner
http://GuruCE.com
Consultancy, training and development services.
Massimo wrote:
> Hi Bob,
> Unfortunately the registry requires a 'dynamic' customization also
> during the life of the system, so i must use hive regisry.
>
> Massimo
>
> Il 27/01/2010 12.04, Rob ha scritto:
>
>> Hi,
>> Did you considder using RAM based registry ?
>> That way your OS will always boot "clean".
>> You might need to make some customisations if you use persistent data
>> (like
>> touch-calibration)
>>
>> Kind regards,
>> Rob.
>> www.robtso.nl
>>
>>
>>
>>
>> "Massimo" wrote:
>>
>>> Hi,
>>> i'm working on a x86 system based on VIA CX700 chipset under Windows CE
>>> 6.0, this system work correctly but sometime during startup doesn't
>>> arrive to the desktop remaining into the black screen.
>>> I discovered that the problem is in system.hv file, being replaced with
>>> a backup copy, the problem disappears.
>>> The file doesn't seems corrupt but probably it contain a 'wrong' key
>>> that prevents the proper boot.
>>> I tried in vain to edit the two files to compare them, so I want to
>>> block calls to 'RegFlushKey' to create a sort of 'Registry Write Filter'
>>> and enable it through a flag.
>>> At this point my problem is to find 'RegFlushKey' code to recompile it,
>>> I've find a 'NKRegFlushKey' into
>>> C:\WINCE600\PRIVATE\WINCEOS\COREOS\NK\KERNEL\fscall.c but using
>>> additonal DEBUGMSG it seems that the code does not move from there.
>>>
>>> Can someone may refer to the portion of code to change or any
>>> suggestions to prevent system block.
>>>
>>> Thanks,
>>> Massimo
>>> .
>>>
>
|
|
0
|
|
|
|
Reply
|
Michel
|
1/27/2010 11:15:04 PM
|
|
>i'm working on a x86 system based on VIA CX700 chipset under Windows CE
>6.0, this system work correctly but sometime during startup doesn't
>arrive to the desktop remaining into the black screen.
Hi Massimo,
I had the same problems with my ICOP eBox4300 based on the VIA BSP.
After removing the "VIA WCE X86 System Control Interrupt (SCI) Handler for Persistent
Registry & Power Management" out of "%_TARGETPLATROOT%\SRC\X86\COMMON\OTHER\HALSCI.c"
this file has some bugs (non initiated variables).
Change this lines
WORD dwGPIOSTS,dwSusTo;
DWORD AutoConfig=1, IrqSetting, dwSLPBTN;
to
WORD dwGPIOSTS = 0, dwSusTo = 0;
DWORD AutoConfig = 1, IrqSetting = 9, dwSLPBTN = 1;
|
|
0
|
|
|
|
Reply
|
Wolfgang
|
2/6/2010 3:02:19 PM
|
|
|
6 Replies
675 Views
(page loaded in 0.078 seconds)
|