Re: Development environment best practices?
- From: "<ctacke/>" <ctacke_AT_OpenNETCF_com>
- Date: Thu, 8 Dec 2005 23:12:36 -0500
Yep, we've come up with it after years of trial and error, and it's still a
work in progress.
-Chris
"Matt" <Matt@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:AA7629FB-AABA-42DE-9F9C-D1639CBA1616@xxxxxxxxxxxxxxxx
> Thanks Chris. This is kind of 'we do it this way' information is
> invaluable
> and much appreciated.
>
> We're not used to the Microsoft development model here. I think that much
> of
> this stuff becomes obvious after you've gone through it a time or two, but
> until then I've found little info to point the way.
>
> Thanks,
> Matt
>
> "<ctacke/>" wrote:
>
>> > 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
>>
>>
>>
.
- References:
- Re: Development environment best practices?
- From: <ctacke/>
- Re: Development environment best practices?
- From: Matt
- Re: Development environment best practices?
- Prev by Date: Re: Development environment best practices?
- Next by Date: Re: The driver of "WCEUSBSH" can support high-speed USB device?
- Previous by thread: Re: Development environment best practices?
- Next by thread: Re: Development environment best practices?
- Index(es):
Relevant Pages
|