Hi,
I have a COMPULab CM-X255 board with a PXA255 with WindowsCE 5.0.
I encounter a FREEZE after several hours/days for abot 19 minutes.
afterwards it is running normally.
Has anyone experienced the same problem ?
Has anyone a solution ?
regards, Martin

Re: FREEZE/PXA255/WindowsCE 5.0 by Bruce

Bruce
Mon May 12 06:53:16 PDT 2008

You have a problem with your OS timer and OEMIdle. The original BSP from
Intel had this problem. The problem is a resource sharing problem with
OSMR0. OEMIdle will adjust OSMR0, which can be interrupted by the timer
interrupt. When this happens OSMR0 will be set to just before the current
timer value. Then it takes 19.something minutes for the next timer
interrupt and thus the next time another process is scheduled.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com

EuroTech Inc.
www.EuroTech.com

"Martin" <Martin@discussions.microsoft.com> wrote in message
news:061FC7F1-3A3F-40F6-802A-05808C903632@microsoft.com...
> Hi,
> I have a COMPULab CM-X255 board with a PXA255 with WindowsCE 5.0.
> I encounter a FREEZE after several hours/days for abot 19 minutes.
> afterwards it is running normally.
> Has anyone experienced the same problem ?
> Has anyone a solution ?
> regards, Martin
>



Re: FREEZE/PXA255/WindowsCE 5.0 by Martin

Martin
Mon May 12 07:23:02 PDT 2008

Thanks so much for your answer. I was plaged from the very beginning. We
thought its the application. With every update the problem
persisted even in WindowsCE 5.0.
But to get more specific : do you know where to fix the problem ?


Re: FREEZE/PXA255/WindowsCE 5.0 by Bruce

Bruce
Mon May 12 07:41:05 PDT 2008

I gave you enough information to find where to fix the code.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com

EuroTech Inc.
www.EuroTech.com

"Martin" <Martin@discussions.microsoft.com> wrote in message
news:5AE150C2-2CE2-4717-8E5A-466B4C9B4B13@microsoft.com...
> Thanks so much for your answer. I was plaged from the very beginning. We
> thought its the application. With every update the problem
> persisted even in WindowsCE 5.0.
> But to get more specific : do you know where to fix the problem ?
>



Re: FREEZE/PXA255/WindowsCE 5.0 by Bruce

Bruce
Mon May 12 08:10:31 PDT 2008

In re-reading that I notice that it sounds a little harsh or blunt. I do
that sometimes.

I don't have your code or the original BSP. But if you look around for
OSMR0 you should find where the problem is. Think multi-threaded and
interrupt driven. So the code in OEMIdle is subject to problems with
read-modify-write and interrupts.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com

EuroTech Inc.
www.EuroTech.com

"Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
message news:uY6O34DtIHA.3604@TK2MSFTNGP03.phx.gbl...
>I gave you enough information to find where to fix the code.
>
> --
> Bruce Eitman (eMVP)
> Senior Engineer
> Bruce.Eitman AT EuroTech DOT com
>
> EuroTech Inc.
> www.EuroTech.com
>
> "Martin" <Martin@discussions.microsoft.com> wrote in message
> news:5AE150C2-2CE2-4717-8E5A-466B4C9B4B13@microsoft.com...
>> Thanks so much for your answer. I was plaged from the very beginning. We
>> thought its the application. With every update the problem
>> persisted even in WindowsCE 5.0.
>> But to get more specific : do you know where to fix the problem ?
>>
>
>



Re: FREEZE/PXA255/WindowsCE 5.0 by Martin

Martin
Mon May 12 11:16:01 PDT 2008

Hallo Bruce,
great that you reply... I searched for OSMR0 and OEMIdle.
I stubbed OALCPUIdle {} and OEMIdle {} so that they dont do anything.
Now I am testing.
regards: Martin

Re: FREEZE/PXA255/WindowsCE 5.0 by Bruce

Bruce
Mon May 12 15:29:50 PDT 2008

Keep in mind that while what you did works and is a valid test, if you
system runs on battery it will use more of that battery.

I wrote this up just now to discuss this issue:

http://geekswithblogs.net/BruceEitman/archive/2008/05/12/windows-ce--why-does-my-system-halt-for-20.aspx

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com

EuroTech Inc.
www.EuroTech.com

"Martin" <Martin@discussions.microsoft.com> wrote in message
news:82FB43AB-E595-420C-A9EB-4C37FBC2A400@microsoft.com...
> Hallo Bruce,
> great that you reply... I searched for OSMR0 and OEMIdle.
> I stubbed OALCPUIdle {} and OEMIdle {} so that they dont do anything.
> Now I am testing.
> regards: Martin



Re: FREEZE/PXA255/WindowsCE 5.0 by Martin

Martin
Wed May 14 00:16:00 PDT 2008

Hallo Bruce,

-stubbing OALCPUIdle {} and OEMIdle {} had no positive effect.
-adding INTERRUPTS_OFF(); ..... INTERRUPTS_ON(); in ARMTimerISR
had no positive effect.
-I encountered a FREEZE: -with the mouse I could open more windows, but
slower and slower til nothing happend anymore...and after about 20minutes all
recovered.
-> there must be another hanger which affects not all tasks....

regards: Martin

Re: FREEZE/PXA255/WindowsCE 5.0 by Bruce

Bruce
Wed May 14 05:25:44 PDT 2008

Ouch

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com

EuroTech Inc.
www.EuroTech.com

"Martin" <Martin@discussions.microsoft.com> wrote in message
news:84F5F589-DC67-4B2B-8B58-0A71864D1BB0@microsoft.com...
> Hallo Bruce,
>
> -stubbing OALCPUIdle {} and OEMIdle {} had no positive effect.
> -adding INTERRUPTS_OFF(); ..... INTERRUPTS_ON(); in ARMTimerISR
> had no positive effect.
> -I encountered a FREEZE: -with the mouse I could open more windows, but
> slower and slower til nothing happend anymore...and after about 20minutes
> all
> recovered.
> -> there must be another hanger which affects not all tasks....
>
> regards: Martin



Re: FREEZE/PXA255/WindowsCE 5.0 by Chris

Chris
Wed May 14 08:37:27 PDT 2008

The 19 minute timing is very, very indicative of a clock/register rollover
relation, at it take about 19 minutes to roll a 32-bit register that is
incrementing once a milliseconds. So you at least have a clue as to what
type of thing to look for. The fact that it doesn't stop dead, but slows
down indicates it's probably not the bug Bruce (and probably everyone else)
thought, but instead something else tangentially related to a clock -
meaning much more difficult to find. I hope you got BSP support from the
vendor, as I'd certainly push this back on them as a bug. Happy hunting.


--

Chris Tacke, Embedded MVP
OpenNETCF Consulting
Giving back to the embedded community
http://community.OpenNETCF.com


"Martin" <Martin@discussions.microsoft.com> wrote in message
news:84F5F589-DC67-4B2B-8B58-0A71864D1BB0@microsoft.com...
> Hallo Bruce,
>
> -stubbing OALCPUIdle {} and OEMIdle {} had no positive effect.
> -adding INTERRUPTS_OFF(); ..... INTERRUPTS_ON(); in ARMTimerISR
> had no positive effect.
> -I encountered a FREEZE: -with the mouse I could open more windows, but
> slower and slower til nothing happend anymore...and after about 20minutes
> all
> recovered.
> -> there must be another hanger which affects not all tasks....
>
> regards: Martin



Re: FREEZE/PXA255/WindowsCE 5.0 by Bruce

Bruce
Wed May 14 10:09:45 PDT 2008

You should check the BSP and your application to see if there is anywhere
else that is writing to either OSMR0 or OSCR. Writing either could cause
this.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com

EuroTech Inc.
www.EuroTech.com

"Chris Tacke, eMVP" <ctacke.at.opennetcf.dot.com> wrote in message
news:%23aOUghdtIHA.5580@TK2MSFTNGP04.phx.gbl...
> The 19 minute timing is very, very indicative of a clock/register rollover
> relation, at it take about 19 minutes to roll a 32-bit register that is
> incrementing once a milliseconds. So you at least have a clue as to what
> type of thing to look for. The fact that it doesn't stop dead, but slows
> down indicates it's probably not the bug Bruce (and probably everyone
> else) thought, but instead something else tangentially related to a
> clock - meaning much more difficult to find. I hope you got BSP support
> from the vendor, as I'd certainly push this back on them as a bug. Happy
> hunting.
>
>
> --
>
> Chris Tacke, Embedded MVP
> OpenNETCF Consulting
> Giving back to the embedded community
> http://community.OpenNETCF.com
>
>
> "Martin" <Martin@discussions.microsoft.com> wrote in message
> news:84F5F589-DC67-4B2B-8B58-0A71864D1BB0@microsoft.com...
>> Hallo Bruce,
>>
>> -stubbing OALCPUIdle {} and OEMIdle {} had no positive effect.
>> -adding INTERRUPTS_OFF(); ..... INTERRUPTS_ON(); in ARMTimerISR
>> had no positive effect.
>> -I encountered a FREEZE: -with the mouse I could open more windows, but
>> slower and slower til nothing happend anymore...and after about 20minutes
>> all
>> recovered.
>> -> there must be another hanger which affects not all tasks....
>>
>> regards: Martin
>
>



Re: FREEZE/PXA255/WindowsCE 5.0 by Martin

Martin
Fri May 16 05:02:00 PDT 2008

Hallo Bruce & Co,

thanks all for your help...it leaves me not alone with the problem, its
grueling...
I searched for OSMR0 or OSCR and its quite bewildering:

I find so many entries in so many directories e.g:

I find files like : timer,vartick,idle in


\WINCE500\PLATFORM\COMMON\SRC\COMMON\TIMER\COMMON\etc...
\WINCE500\PLATFORM\COMMON\SRC\ARM\INTEL\PXA250\TIMER\etc...
\WINCE500\PLATFORM\CM_X255_BSP\SRC\KERNEL\etc....

So I wonder which is chosen for the final image....
Do you have an idea which file to change ?

regards: Martin

Re: FREEZE/PXA255/WindowsCE 5.0 by Martin

Martin
Tue May 20 08:07:01 PDT 2008

Hallo,

does anyone have a tool or a program to monitor the registers
OSMR0 / OSCR etc... on a PXA255/ windowsCE 5.0 ????


regards: Martin

Re: FREEZE/PXA255/WindowsCE 5.0 by Bruce

Bruce
Tue May 20 08:35:54 PDT 2008

The first thing that I would do is toggle an I/O pin in the timer interrupt.
Then monitor the pin to see if it is toggling when the "freeze" occurs.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com
My BLOG http://geekswithblogs.net/bruceeitman

EuroTech Inc.
www.EuroTech.com

"Martin" <Martin@discussions.microsoft.com> wrote in message
news:EDF636C7-36F2-4965-BC0D-D29C330BC93C@microsoft.com...
> Hallo,
>
> does anyone have a tool or a program to monitor the registers
> OSMR0 / OSCR etc... on a PXA255/ windowsCE 5.0 ????
>
>
> regards: Martin