Re: Development environment best practices?

Tech-Archive recommends: Fix windows errors by optimizing your registry



> 1. Revision control - Regardless of the revision control software used,
> how
> do developers typically revision control Windows CE? Microsoft suggests
> placing \WINCE500 under revision control. At 3-4 GB of data, this doesn't
> really seem like an efficient option. Do people really do this or do they
> rely on something like a COTS software library to keep the 'golden'
> version
> of the Platform Builder installation discs and only revision control the
> PBWorkspaces directory?

We keep the project (PBWorkspaces) in version control, sans any build
output, plus the Platform tree. We manage several different BSPs and
projects, so we also have some other folders for commonly shared code, but
it shows as another folder in Platform.

We also have dedicated machines for doing release builds that are in a
controlled environment so we know what the QFE level is (and we drop labels
into source control whenever the QFE level changes on the build machines).

> 2. Confusion on the part of the BSP - I've always thought of a BSP as the
> OS's interface to the hardware (the OAL is part of the BSP, right?). If
> that's the case, it seems like the BSP would need to change as drivers
> change. Do most developers create (clone) a BSP based on one provided with
> a
> dev board and include proprietary drivers in the BSP? Talking to one
> Windows
> CE developer, he suggested not creating a new BSP and instead just
> modifying/adding new WinCE drivers as part of the OS (not encapsulated in
> a
> BSP). Does this sound reasonable?

See Steve Maillet's answer within the last couple days of what a BSP is.
Basically it's a bootloader, OAL, drivers, and any associated files
necessary to create a functioning OS. We keep all of our drivers as part of
the BSP. Of course common drivers across multiple BSPs are shared, but
that's what source control sharing is for.

> 3. Platform SDK creation - Once the OS image is agreed upon and created
> and
> the associated SDK is generated, how often will that SDK change? One
> Windows
> CE developer that I spoke to thinks that this SDK will rarely change since
> most driver headers can be directly included by application layers...
> Since
> only the OS interface is exposed by the SDK, developers shouldn't have to
> install the SDK multiple times as the functionality of proprietary drivers
> change. Is this correct?

That depends on your strategy and philosophy. We have a single SDK for all
of our platforms that rarely changes. We generated it from a platform with
everything and the kitchen sink in it. It's possible to generate
applications that use libraries and APIs not in an actual build for the
platform (if they use a Core licensed build and try to use an IE API for
instance) but we leave it to the application developer to know what's there,
as well as to test their apps. It's been a model that's worked for us for
years with very little pain.

> 4. Platform builds - Many embedded developers that I know prefer a command
> line build for it's versatility and it's ability to be automated. Do most
> Windows CE developers stick with IDE builds, or do you convert to a
> command
> line build?

Starting with 5.0, the UI just wraps the command line, so really it's no
different. I typically use the UI for regenerating an entire build and the
command line for recompiling pieces and running makeimg during development.
All released builds that come from our build machine are done either through
the UI or through an internally written automated build engine that calls PB
from the command line.

Chris Tacke
Applied Data Systems


.



Relevant Pages

  • Re: Development environment best practices?
    ... >>> OS's interface to the hardware (the OAL is part of the BSP, ... Do most developers create a BSP based on one provided ... >>> dev board and include proprietary drivers in the BSP? ... >>> the associated SDK is generated, how often will that SDK change? ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Development environment best practices?
    ... >> do developers typically revision control Windows CE? ... >> OS's interface to the hardware (the OAL is part of the BSP, ... >> dev board and include proprietary drivers in the BSP? ... >> the associated SDK is generated, how often will that SDK change? ...
    (microsoft.public.windowsce.platbuilder)
  • Re: NET framework and hyperthreading/MMX/SSE/....
    ... >> that it is the developers responsibility to deal with threading within ... Anyone who would touch taht particular compiler would likely do so strictly ... > will get scared because they have no control. ... > know if ILAsm contains MMX and the SSEx-like instructions? ...
    (microsoft.public.dotnet.framework)
  • Re: Procedural ["bare ASP.NET"] versus OOPy ASP.NET
    ... involved with using a control, ... > design a reusable component one must know beforehand all the ways it ... > (OOP, procedural, and functional) over many years. ... > developers in general. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Lets think who will like to say delphi is dying?
    ... developers don't feel like they have enough control over the JavaScript. ... Working with HTML and graphics designers on large projects.. ... Amazing RAD features, while still producing a hi-performing executable. ...
    (borland.public.delphi.non-technical)