Hi
My display driver hangs. The following is the debug message.
Any help is appreciated.

thanks
Anand

OEMInitDebugSerial using UART1
Windows CE Kernel for ARM (Thumb Enabled) Built on May 3 2005 at 14:03:39
ProcessorType=02d0 Revision=6
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 800b9d8c
OEMInit ++
OEMInit --
Booting Windows CE version 4.20 for (ARM)
&pTOC = 800bb6b0, pTOC = 8093c01c, pTOC->ulRamFree = 809ea000, MemForPT =
00000000

Old or invalid version stamp in kernel structures - starting clean!
Configuring: Primary pages: 13001, Secondary pages: 0, Filesystem pages =
6500

Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 809eb000, extension: 00004000, length: 032c9000
Sp=ffffc7cc
ARMInit done.
Windows CE KernelInit
Updated eptr->e32_vsize to = 00093000
Scheduling the first thread.
0x83cb7024: KernelInit2: pCurThread=83cb7024 hCurThread=03cb7262
hCurProc=03cb7002, KernelInit = 80109820
0x83cb7024: Detecting VFP...0x83cb7024: VFP Not Found!
0x83cb7024: first = 01f90000, last = 02000000, SharedDllBase = 037e0000
0x83ca5644: FileSystem Starting - starting with clean file system
0x83ca5644: FSREG: Logging in default user.
0x83ca5644: SetCurrentUser: Logging out (nobody), logging in default
0x83ca5644: FS: Using default path "\profiles\"
0x83ca5644: SetCurrentUser: User hives not supported -- using same registry
for all users
0x83ca5644: FS: Using default path "Windows\"
0x83ca5644: FS: Using default path "Windows\"
0x83ca5644:
Initializing Database
0x83ca5644: DB:Validation: Name already exists DB_notify_events
0x83ca5644: DB:CeCreateDatabase failed
0x83ca5644: Filesystem initialized!
0x83ca5000: InitializeJit
0x83ca5000: InitMUI: DISABLED (-1039926520)
0x83c7f0a8: *** Power Manager: DLL_PROCESS_ATTACH - Current Process: 0x42,
ID: 0x23ca5612 ***
0x83c7f0a8: Ceddk!CalibrateStallCounter: Enter
0x83c7f0a8: Ceddk!CalibrateStallCounter: Could not find stall counter
0x83c7f0a8: Ceddk!BeginCalibration: min(368) max(460)
0x83c7f0a8: Ceddk!BeginCalibration: elapsed is 450
0x83c7f0a8: Ceddk!BeginCalibration: delay is 22
0x83c7f0a8: +PmInit
0x83c7f0a8: +PlatformValidatePMRegistry
0x83c7f0a8: -PlatformValidatePMRegistry: returning 0
0x83c7f0a8: DeviceListsInit: default GUID found in registry as expected
0x83c7f0a8: DeviceListCreate: creating list entry for class
8dd679ce-8ab4-43c8-a14a-ea4963faa715
0x83c7f0a8: PlatformDeviceListInit: using stream interface to access class
8dd679ce-8ab4-43c8-a14a-ea4963faa715
0x83c7f0a8: DeviceListCreate: creating list entry for class
98c5250d-c29a-4985-ae5f-afe5367e5006
0x83c7f0a8: PlatformDeviceListInit: using stream interface to access class
98c5250d-c29a-4985-ae5f-afe5367e5006
0x83c7f0a8: DeviceListCreate: creating list entry for class
eb91c7c9-8bf6-4a2d-9ab8-69724eed97d1
0x83c7f0a8: PlatformDeviceListInit: using display interface to access class
eb91c7c9-8bf6-4a2d-9ab8-69724eed97d1
0x83c7f0a8: InitDisplayDeviceInterface: returning 1
0x83c7f0a8: DeviceListCreate: creating list entry for class
a32942b7-920c-486b-b0e6-92a702a99b35
0x83c7f0a8: PlatformDeviceListInit: using stream interface to access class
a32942b7-920c-486b-b0e6-92a702a99b35
0x83ca5000: +PnpThreadProc: thread 0x03c7085e
0x83c70c90: +ResumeThreadProc: thread 0x03c70ece
0x83c6c400: +ActivityTimersThreadProc: thread 0x03c70fde
0x83c6c400: ActivityTimerCreate: ActivityTimerCreate('UserActivity')
returning 0x00000000
0x83c6c400: ActivityTimerCreate: ActivityTimerCreate('SystemActivity')
returning 0x00000000
0x83c6a6d0: +SystemThreadProc: thread 0x83c70faa
0x83c6a6d0: +PlatformManageSystemPower
0x83c6a6d0: PlatformPMActivelyManagesPower: returning 1
0x83c6a6d0: PlatformManageSystemPower: waiting for initialization to
complete
0x83c6adb4: +BatteryMonitorThreadProc: thread 0x43c6c6f2
0x83c6adb4: BatteryMonitorThreadProc: battery interface APIs not available,
exiting
0x83c6adb4: -BatteryMonitorThreadProc: exiting
0x83c7f0a8: -PmInit: returning 1
0x83c6a6d0: PlatformManageSystemPower: initialization complete
0x83c6a6d0: PlatformLoadTimeouts: ACUserIdle 60000, ACSystemIdle 300000,
ACSuspend -1, BattUserIdle 60000, BattSystemIdle 180000, BattSuspend 300000
0x83c7f0a8: DEVICE!DevloadInit
0x83c7f0a8: DEVICE!InitDevices: Root Key is Drivers\BuiltIn.
0x83c7f0a8: DEVICE!ActivateDeviceEx(Drivers\BuiltIn) entered
0x83c7f0a8: DEVICE!ActivateDeviceEx(Drivers\BuiltIn\sdmmcloader) entered
0x83c7f0a8: SDMMCLoader : DLL_PROCESS_ATTACH
0x83c7f0a8: Entering SML_Init.
0x83c7f0a8: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
(SML1:) ATTACH
0x83c7f0a8: DEVICE!ActivateDeviceEx(Drivers\BuiltIn\PWRBUTTON) entered
0x83c7f0a8: PwrButton : DLL_PROCESS_ATTACH
0x83c7f0a8: PwrButton PWR Init ++
0x83c7f0a8: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
(PWR1:) ATTACH
0x83c672ec: Grow Gdi handle table from 0 to 64
0x83c672ec: GPE:::DLLMAIN Entered
0x83c672ec: GPE:::DLLMAIN : DLL_PROCESS_ATTACH
0x83c672ec: GPE:::DLLMAIN Exit
0x83c672ec: SA2Video::GetGPE ++
0x83c672ec: GPE::GPE()
0x83c672ec: SA2Video::SA2Video ++
0x83c672ec: DispDrvrInitialize ++
0x83c672ec: Failed to get display frame buffer value, Error 0x2
0x83c672ec: Done getting Registry values:
bpp: 0x10
CxScreen: 0xf0
CyScreen: 0x140
Display Type: HITACHI
0x83c672ec: DispDrvrInitialize ReadRegistryData ++
0x83c672ec: MapVirtualAddress ++
0x83c672ec: MapVirtualAddress --
0x83c672ec: InitCursor ++
0x83c672ec: InitCursor --
0x83c672ec: DispDrvrInitialize InitCursor ++
0x83c672ec: LcdSetupGPIOs ++
0x83c672ec: LcdSetupGPIOs --
0x83c672ec: DispDrvrInitialize LcdSetupGPIOs ++
0x83c672ec: ClearFrameBuffer ++
0x83c672ec: ClearFrameBuffer --
0x83c672ec: DispDrvrInitialize ClearFrameBuffer ++
0x83c672ec: InitLCDController ++
0x83c672ec: Setting display type HITACHI0x83c672ec: InitLCDController --
0x83c672ec: DispDrvrInitialize InitLCDController ++
0x83c672ec: LCDClearStatusReg
0x83c672ec: LCDClearStatusReg --
0x83c672ec: DispDrvrInitialize LCDClearStatusReg ++
0x83c672ec: EnableLCDController ++
0x83c672ec: EnableLCDController --
0x83c672ec: DispDrvrInitialize EnableLCDController ++
0x83c672ec: DispDrvrInitialize --
0x83c672ec: SA2Video::SA2Video --
0x83c672ec: SA2Video::NumModes
0x83c672ec: SA2Video::GetGPE ++
0x83c672ec: SA2Video::NumModes
0x83c672ec: SA2Video::GetModeInfo ++
0x83c672ec: SA2Video::GetModeInfo --
0x83c672ec: SA2Video::GetGPE ++
0x83c672ec: SA2Video::SetMode ++
0x83c672ec: DispDrvrSetDibBuffer ++
0x83c672ec: ClearFrameBuffer ++
0x83c672ec: ClearFrameBuffer --
0x83c672ec: DispDrvrSetDibBuffer --
0x83c672ec: SA2Video::SetMode --
0x83c672ec: SA2Video::GetModeInfo ++
0x83c672ec: SA2Video::GetModeInfo --
0x83c672ec: Bits-per-pixel: 16
0x83c672ec: Adding font resource '\Windows\tahoma.ttf'...
0x83c672ec: **** Signature of FONT File is: '0100'...
<== HANGS HERE

Re: display driver hangs by Tom

Tom
Wed Oct 26 23:46:03 CDT 2005

Well, one line in your debug output stands out as a possible issue: "Failed
to get display frame buffer value, Error 0x2"

This message appears in the PXA255 CSP video driver and is sent to the debug
output when the driver's registry entry "UseFrameBuffer" is not found. This
registry value is used by this driver to initialize
'dwUsePhysicalFrameBuffer' which is later checked before setting
'gUseDispDrvrPhysicalFrameBuffer', and if the registry setting does not
exist, both values default to FALSE. This will cause the driver (as
written) to use an "off-screen" drawing buffer and update the frame buffer
via calls to DispDrvrDirtyRectDump. If this was your intent, then this may
not be your problem. If this is not your intent, this may be your problem,
though the driver should still work assuming you have left the standard
implementation of DispDrvrDirtyRectDump in the driver (this will have a
dramatic impact on display driver performance, however). If you haven't, or
if you've left out some other portion of the code needed to support the
off-screen drawing buffer and/or framebuffer updates, this could be your
problem.

Aside from that line, nothing else in your debug output seemed out of place
to me.

Tom Gensel (eMVP)



Re: display driver hangs by Anand

Anand
Thu Oct 27 10:57:25 CDT 2005

Hi,
Thanks for the reply. I followed your directions. I added UseFrameBuffer in
registry. Now I'm not getting the registry fail error message. But it hangs
at the same place. I'm inlcuding the debug messages. Any help is appreciated

Thanks
Anand

OEMInitDebugSerial using UART1
Windows CE Kernel for ARM (Thumb Enabled) Built on May 3 2005 at 14:03:39
ProcessorType=02d0 Revision=6
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 800b9d8c
OEMInit ++
OEMInit --
Booting Windows CE version 4.20 for (ARM)
&pTOC = 800bb6b0, pTOC = 803df9fc, pTOC->ulRamFree = 8047a000, MemForPT =
00000000

Old or invalid version stamp in kernel structures - starting clean!
Configuring: Primary pages: 14393, Secondary pages: 0, Filesystem pages =
7196

Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 8047b000, extension: 00004000, length: 03839000
Sp=ffffc7cc
ARMInit done.
Windows CE KernelInit
Updated eptr->e32_vsize to = 00093000
Scheduling the first thread.
0x83cb7024: KernelInit2: pCurThread=83cb7024 hCurThread=03cb7262
hCurProc=03cb7002, KernelInit = 80109844
0x83cb7024: Detecting VFP...0x83cb7024: VFP Not Found!
0x83cb7024: first = 01fe0000, last = 02000000, SharedDllBase = 03e60000
0x83ca75c0: FileSystem Starting - starting with clean file system
0x83ca75c0: FSREG: Logging in default user.
0x83ca75c0: SetCurrentUser: Logging out (nobody), logging in default
0x83ca75c0: FS: Using default path "\profiles\"
0x83ca75c0: SetCurrentUser: User hives not supported -- using same registry
for all users
0x83ca75c0: FS: Using default path "Windows\"
0x83ca75c0: FS: Using default path "Windows\"
0x83ca75c0:
Initializing Database
0x83ca75c0: DB:Validation: Name already exists DB_notify_events
0x83ca75c0: DB:CeCreateDatabase failed
0x83ca75c0: Filesystem initialized!
0x83ca7000: InitializeJit
0x83ca7000: InitMUI: DISABLED (-1039926520)
0x83c81108: *** Power Manager: DLL_PROCESS_ATTACH - Current Process: 0x42,
ID: 0x3ca74c2 ***
0x83c81108: Ceddk!CalibrateStallCounter: Enter
0x83c81108: Ceddk!CalibrateStallCounter: Could not find stall counter
0x83c81108: Ceddk!BeginCalibration: min(368) max(460)
0x83c81108: Ceddk!BeginCalibration: elapsed is 451
0x83c81108: Ceddk!BeginCalibration: delay is 22
0x83c81108: +PmInit
0x83c81108: -PmInit: returning 1
0x83c81108: DEVICE!DevloadInit
0x83c81108: DEVICE!InitDevices: Root Key is Drivers\BuiltIn.
0x83c81108: DEVICE!ActivateDeviceEx(Drivers\BuiltIn) entered
0x83c81108: DEVICE!ActivateDeviceEx(Drivers\BuiltIn\sdmmcloader) entered
0x83c81108: SDMMCLoader : DLL_PROCESS_ATTACH
0x83c81108: Entering SML_Init.
0x83c81108: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
(SML1:) ATTACH
0x83ca7000: +BatteryMonitorThreadProc: thread 0x03c79872
0x83ca7000: BatteryMonitorThreadProc: battery interface APIs not available,
exiting
0x83ca7000: -BatteryMonitorThreadProc: exiting
0x83c79c64: Grow Gdi handle table from 0 to 64
0x83c79c64: GPE:::DLLMAIN Entered
0x83c79c64: GPE:::DLLMAIN : DLL_PROCESS_ATTACH
0x83c79c64: GPE:::DLLMAIN Exit
0x83c79c64: SA2Video::GetGPE ++
0x83c79c64: GPE::GPE()
0x83c79c64: SA2Video::SA2Video ++
0x83c79c64: DispDrvrInitialize ++
0x83c79c64: Done getting Registry values:
bpp: 0x10
CxScreen: 0x140
CyScreen: 0xf0
Display Type: HITACHI
0x83c79c64: DispDrvrInitialize ReadRegistryData ++
0x83c79c64: MapVirtualAddress ++
0x83c79c64: MapVirtualAddress --
0x83c79c64: InitCursor ++
0x83c79c64: InitCursor --
0x83c79c64: DispDrvrInitialize InitCursor ++
0x83c79c64: LcdSetupGPIOs ++
0x83c79c64: LcdSetupGPIOs --
0x83c79c64: DispDrvrInitialize LcdSetupGPIOs ++
0x83c79c64: ClearFrameBuffer ++
0x83c79c64: ClearFrameBuffer --
0x83c79c64: DispDrvrInitialize ClearFrameBuffer ++
0x83c79c64: InitLCDController ++
0x83c79c64: Setting display type HITACHI0x83c79c64: InitLCDController --
0x83c79c64: DispDrvrInitialize InitLCDController ++
0x83c79c64: LCDClearStatusReg
0x83c79c64: LCDClearStatusReg --
0x83c79c64: DispDrvrInitialize LCDClearStatusReg ++
0x83c79c64: EnableLCDController ++
0x83c79c64: EnableLCDController --
0x83c79c64: DispDrvrInitialize EnableLCDController ++
0x83c79c64: DispDrvrInitialize --
0x83c79c64: SA2Video::SA2Video --
0x83c79c64: SA2Video::NumModes
0x83c79c64: SA2Video::GetGPE ++
0x83c79c64: SA2Video::NumModes
0x83c79c64: SA2Video::GetModeInfo ++
0x83c79c64: SA2Video::GetModeInfo --
0x83c79c64: SA2Video::GetModeInfo ++
0x83c79c64: SA2Video::GetModeInfo --
0x83c79c64: SA2Video::GetModeInfo ++
0x83c79c64: SA2Video::GetModeInfo --
0x83c79c64: SA2Video::GetGPE ++
0x83c79c64: SA2Video::SetMode ++
0x83c79c64: SA2Video::SetMode --
0x83c79c64: SA2Video::GetModeInfo ++
0x83c79c64: SA2Video::GetModeInfo --
0x83c79c64: Bits-per-pixel: 16
0x83c79c64: Adding font resource '\Windows\tahoma.ttf'...
0x83c79c64: **** Signature of FONT File is: '0100'...
0x83c79c64: Data Abort: Thread=83c79c64 Proc=804774b8 'filesys.exe'
0x83c79c64: AKY=0000000b PC=00022638 RA=00022a50 BVA=420000e8 FSR=000004f8
0x83c79c64: NKDispatchException: returning failure. Flags=8
0x83c79c64:
Unhandled exception dfff0123:
0x83c79c64: NK Kernel: DEBUGCHK failed in file
d:\mckendric\private\winceos\coreos\nk\kernel\arm\mdarm.c at line 1040
0x83c79c64: DEBUG_BREAK @801058fc MD=1f Ignored.
0x83c79c64: Terminating thread 83c79c64
0x83c79c64: Secondary thread in proc 03ca7822 (filesys.exe) faulted!


"Tom Gensel (eMVP)" <nospam@please.com> wrote in message
news:43605b12$0$6800$bb4e3ad8@newscene.com...
> Well, one line in your debug output stands out as a possible issue:
> "Failed to get display frame buffer value, Error 0x2"
>
> This message appears in the PXA255 CSP video driver and is sent to the
> debug output when the driver's registry entry "UseFrameBuffer" is not
> found. This registry value is used by this driver to initialize
> 'dwUsePhysicalFrameBuffer' which is later checked before setting
> 'gUseDispDrvrPhysicalFrameBuffer', and if the registry setting does not
> exist, both values default to FALSE. This will cause the driver (as
> written) to use an "off-screen" drawing buffer and update the frame buffer
> via calls to DispDrvrDirtyRectDump. If this was your intent, then this
> may not be your problem. If this is not your intent, this may be your
> problem, though the driver should still work assuming you have left the
> standard implementation of DispDrvrDirtyRectDump in the driver (this will
> have a dramatic impact on display driver performance, however). If you
> haven't, or if you've left out some other portion of the code needed to
> support the off-screen drawing buffer and/or framebuffer updates, this
> could be your problem.
>
> Aside from that line, nothing else in your debug output seemed out of
> place to me.
>
> Tom Gensel (eMVP)
>
>



Re: display driver hangs by Tom

Tom
Thu Oct 27 13:10:06 CDT 2005

Ah, a few more pieces to your puzzle though. Actually, the fact that you
got the output

"0x83c672ec: Adding font resource '\Windows\tahoma.ttf'... 0x83c672ec: ****
Signature of FONT File is: '0100'..."

in your previous dump was highly suggestive that the problem was outside of
your display driver, but this is even more suggestive of that likelihood:

0x83c79c64: Data Abort: Thread=83c79c64 Proc=804774b8 'filesys.exe'
0x83c79c64: AKY=0000000b PC=00022638 RA=00022a50 BVA=420000e8 FSR=000004f8

This could be caused by a memory configuration error of some sort. You
haven't said much about your platform so I don't know if this is a proven
device/BSP or a new device/BSP. Check your .BIB files and memory setup.
Have you provided sufficient room for RAMIMAGE? If it's a new board and/or
BSP, check your RAM configuration and timings. Perhaps throw a memory test
into your boot sequence to verify the hardware if it's brand new to make
sure all is well. Unfortunately your search for this problem needs to go
beyond your display driver.

Tom Gensel (eMVP)



Re: display driver hangs by Anand

Anand
Mon Oct 31 12:09:56 CST 2005

Hi,
I'm using PXA255 intel processor, with Sandgate bsp as base and modifying
for our design.
My config.bib file, memory map, RAM cinfiguration and timing are seem to be
correct.
But still I'm getting same error.

Any help is appreciated.

thanks
Anand
"Tom Gensel (eMVP)" <nospam@please.com> wrote in message
news:43611795$0$6841$bb4e3ad8@newscene.com...
> Ah, a few more pieces to your puzzle though. Actually, the fact that you
> got the output
>
> "0x83c672ec: Adding font resource '\Windows\tahoma.ttf'... 0x83c672ec:
> **** Signature of FONT File is: '0100'..."
>
> in your previous dump was highly suggestive that the problem was outside
> of your display driver, but this is even more suggestive of that
> likelihood:
>
> 0x83c79c64: Data Abort: Thread=83c79c64 Proc=804774b8 'filesys.exe'
> 0x83c79c64: AKY=0000000b PC=00022638 RA=00022a50 BVA=420000e8 FSR=000004f8
>
> This could be caused by a memory configuration error of some sort. You
> haven't said much about your platform so I don't know if this is a proven
> device/BSP or a new device/BSP. Check your .BIB files and memory setup.
> Have you provided sufficient room for RAMIMAGE? If it's a new board
> and/or BSP, check your RAM configuration and timings. Perhaps throw a
> memory test into your boot sequence to verify the hardware if it's brand
> new to make sure all is well. Unfortunately your search for this problem
> needs to go beyond your display driver.
>
> Tom Gensel (eMVP)
>



Re: display driver hangs by Tom

Tom
Mon Oct 31 15:56:13 CST 2005

So, this is a new, unproven hardware design and a new BSP? If that's the
case, and you feel you've ruled out possible OS image configuration
problems, then have you verified the system's RAM integrety by inserting a
RAM memory test into your boot sequence? A proper RAM test can help detect
possible problems with the SDRAM address and data buses on your board.

Tom Gensel (eMVP)

"Anand" <aprakash@cobra.com> wrote in message
news:erVuNZk3FHA.3628@TK2MSFTNGP12.phx.gbl...
> Hi,
> I'm using PXA255 intel processor, with Sandgate bsp as base and modifying
> for our design.
> My config.bib file, memory map, RAM cinfiguration and timing are seem to
> be correct.
> But still I'm getting same error.
>
> Any help is appreciated.
>
> thanks
> Anand
> "Tom Gensel (eMVP)" <nospam@please.com> wrote in message
> news:43611795$0$6841$bb4e3ad8@newscene.com...
>> Ah, a few more pieces to your puzzle though. Actually, the fact that you
>> got the output
>>
>> "0x83c672ec: Adding font resource '\Windows\tahoma.ttf'... 0x83c672ec:
>> **** Signature of FONT File is: '0100'..."
>>
>> in your previous dump was highly suggestive that the problem was outside
>> of your display driver, but this is even more suggestive of that
>> likelihood:
>>
>> 0x83c79c64: Data Abort: Thread=83c79c64 Proc=804774b8 'filesys.exe'
>> 0x83c79c64: AKY=0000000b PC=00022638 RA=00022a50 BVA=420000e8
>> FSR=000004f8
>>
>> This could be caused by a memory configuration error of some sort. You
>> haven't said much about your platform so I don't know if this is a proven
>> device/BSP or a new device/BSP. Check your .BIB files and memory setup.
>> Have you provided sufficient room for RAMIMAGE? If it's a new board
>> and/or BSP, check your RAM configuration and timings. Perhaps throw a
>> memory test into your boot sequence to verify the hardware if it's brand
>> new to make sure all is well. Unfortunately your search for this problem
>> needs to go beyond your display driver.
>>
>> Tom Gensel (eMVP)
>>
>
>