Hi,

I have migrated our project from CE5.0 to CE6.0 on a ICOP PC104 platform. In
5.0 there was a problem in the init part of the private kernel code that
cuased the kernel to essentially crash if power was cycled too quickly on the
device. We had a fix for it in the private code. I migrated that change to
6.0 and rebulilt the kernel in
%WINCEROOT%\PRIVATE\WINCEOS\COREOS\NK\KERNEL.
It built fine but now system build failed due to missing setFPEmul function.
I noticed that this was a fairly recent addition in a QFE. Is the private
source code out of sync with the provided binaries or?

/Daniel

Re: setFPEmul() missing by Michel

Michel
Fri May 02 18:17:05 PDT 2008

Exactly the reason why you should've cloned the code instead of
modifying in place in the PRIVATE folder.

My experience is that yes, sometimes QFE's ship updated binaries but NOT
the source code (or not everything).

Good luck,

Michel Verhagen, eMVP
Check out my blog: http://GuruCE.com/blog

GuruCE Ltd.
Microsoft Embedded Partner
http://GuruCE.com
Consultancy, training and development services.

Aplamon wrote:
> Hi,
>
> I have migrated our project from CE5.0 to CE6.0 on a ICOP PC104 platform. In
> 5.0 there was a problem in the init part of the private kernel code that
> cuased the kernel to essentially crash if power was cycled too quickly on the
> device. We had a fix for it in the private code. I migrated that change to
> 6.0 and rebulilt the kernel in
> %WINCEROOT%\PRIVATE\WINCEOS\COREOS\NK\KERNEL.
> It built fine but now system build failed due to missing setFPEmul function.
> I noticed that this was a fairly recent addition in a QFE. Is the private
> source code out of sync with the provided binaries or?
>
> /Daniel

Re: setFPEmul() missing by DanielJohansson

DanielJohansson
Tue May 06 08:45:01 PDT 2008

I usually don't clone code. If I absolutely must make modifications to code I
put the section (like NK/KERNEL in this case) under source control instead, I
find it a little more flexible.

Ok, so I can't trust the source that is shipped. Good to know.

Thank you,
Daniel

"Michel Verhagen (eMVP)" wrote:

> Exactly the reason why you should've cloned the code instead of
> modifying in place in the PRIVATE folder.
>
> My experience is that yes, sometimes QFE's ship updated binaries but NOT
> the source code (or not everything).
>
> Good luck,
>
> Michel Verhagen, eMVP
> Check out my blog: http://GuruCE.com/blog
>
> GuruCE Ltd.
> Microsoft Embedded Partner
> http://GuruCE.com
> Consultancy, training and development services.
>


Re: setFPEmul() missing by Dean

Dean
Tue May 06 10:19:36 PDT 2008

And any QFE shipped by MS will break your model. Don't do it, sorry. Clone
it, then put it under source control.

--
Dean Ramsier - eMVP
BSQUARE Corporation


"Daniel Johansson" <DanielJohansson@discussions.microsoft.com> wrote in
message news:32A5106B-323A-482A-B800-FA3C2F7F4DFA@microsoft.com...
>I usually don't clone code. If I absolutely must make modifications to code
>I
> put the section (like NK/KERNEL in this case) under source control
> instead, I
> find it a little more flexible.
>
> Ok, so I can't trust the source that is shipped. Good to know.
>
> Thank you,
> Daniel
>
> "Michel Verhagen (eMVP)" wrote:
>
>> Exactly the reason why you should've cloned the code instead of
>> modifying in place in the PRIVATE folder.
>>
>> My experience is that yes, sometimes QFE's ship updated binaries but NOT
>> the source code (or not everything).
>>
>> Good luck,
>>
>> Michel Verhagen, eMVP
>> Check out my blog: http://GuruCE.com/blog
>>
>> GuruCE Ltd.
>> Microsoft Embedded Partner
>> http://GuruCE.com
>> Consultancy, training and development services.
>>
>



Re: setFPEmul() missing by DanielJohansson

DanielJohansson
Tue May 06 12:04:02 PDT 2008

Ok, so I install a QFE with possibly important updates. But they are not
really installed since I use a library built from a clone. What's the point
of doing updates then? Again, I prefer to do it all in source control so I
can resolve QFEs and my changes and keep track of everything in there. There
are usually more than one solution to a problem.

Cloning or not cloning the problem is that QFEs ships with prebuilt
libraries that are not corresponding to the source, correct me if I'm wrong.

Daniel

"Dean Ramsier" wrote:

> And any QFE shipped by MS will break your model. Don't do it, sorry. Clone
> it, then put it under source control.
>
> --
> Dean Ramsier - eMVP
> BSQUARE Corporation
>

Re: setFPEmul() missing by Dean

Dean
Tue May 06 13:50:19 PDT 2008

If you have cloned an item, then any updates to that item are not reflected
in the clone as you describe. You are responsible for evaluating the update
and deciding how it impacts your clone or if you care.

However, if you don't clone it, and modify it in place you run the risk of
the update blowing away your change. You say you keep it under source
control; if you're doing that in place then that means you have to revert
the changes made in the update back to what you had in your repository.
That's a step that wouldn't be necessary had you done the clone.

You also have to do builds in the public tree in order to incorporate your
changes. You have to repeat the build after applying a QFE even though you
reverted your changes, because MS also changed the binaries.

You also no longer have the benefit of having the latest *unmodified* source
from MS because you've changed it in place. When you follow the best
practice of not touching anything that is not yours (meaning any code
shipped by MS or another third party) you avoid these problems.

Yes, you can solve this problem in multiple ways and what you are doing can
work if you're careful. But it seems to me that your only benefit (diffing
your changes against MS when a QFE is applied in the same tree using your
source control tools) is small compared to what you give up.

You're also correct that not shipping source with the QFE is a problem. But
source in the private tree is there generally for reference and it isn't
always the case that it gets updated. This is especially true with the
premium source.

--
Dean Ramsier - eMVP
BSQUARE Corporation


"Daniel Johansson" <DanielJohansson@discussions.microsoft.com> wrote in
message news:8802F559-B0C5-403D-BB02-C934E9E8016B@microsoft.com...
> Ok, so I install a QFE with possibly important updates. But they are not
> really installed since I use a library built from a clone. What's the
> point
> of doing updates then? Again, I prefer to do it all in source control so I
> can resolve QFEs and my changes and keep track of everything in there.
> There
> are usually more than one solution to a problem.
>
> Cloning or not cloning the problem is that QFEs ships with prebuilt
> libraries that are not corresponding to the source, correct me if I'm
> wrong.
>
> Daniel
>
> "Dean Ramsier" wrote:
>
>> And any QFE shipped by MS will break your model. Don't do it, sorry.
>> Clone
>> it, then put it under source control.
>>
>> --
>> Dean Ramsier - eMVP
>> BSQUARE Corporation
>>