Search the web
Sign In
New User? Sign Up
AgileEmbedded · Agile Embedded
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want your group to be featured on the Yahoo! Groups website? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Continuous Integration Compiler Choice   Message List  
Reply | Forward Message #408 of 435 |
Re: [AgileEmbedded] Re: Continuous Integration Compiler Choice

Hi Mark

Integration is a pretty broad term, and there are many levels. Some
amount can be done off target. But the ultimate, and maybe
unattainable in some situations, is a fully automated end to end test
suite. Depending on the application, that could result in
considerable external instrumentation.

I look at it in these 6 stages of incorporating of TDD and CI.

Here is the CI approach I recommend (CI really begins in step 1):
0) Do TDD in host for the most rapid feedback and defect prevention.
1) Build and run in the host environment on checkin, check results
2) Compile unit test build for target or eval board
3) Push the UT build to the target and check results
- in constrained memory situations you might need to chunk the tests
4) Run ATs (maybe in host too) in target (Acceptance tests at the sub-
system and system level like you mentioned)
5) Run manual tests


Some of these are going to be quite challenging. But that should not
discourage getting this started. Software only integration can often
be done off-target, at least some can be. When a team begins they can
probably only practically do #0 and #5, or maybe #2 and #5. I know
companies doing #0 and #5 and very happy with the improvement and the
track they are on.

The goal of this is to get warning of problems. I'd rather find a
problem before it becomes a bug/defect. I'd rather track down the
problems I can outside the target, so that when we get to the target
the problems we could get ride of are gone from the code.

James

----------------------
James Grenning
james@...
www.renaissancesoftware.net
www.renaissancesoftware.net/blog
www.twitter.com/jwgrenning




On Jun 13, 2009, at 9:12 AM, marktxx wrote:

>
>
> --- In AgileEmbedded@yahoogroups.com, "davekelloggs"
> <dave.kellogg@...> wrote:
> >
> > I'm working toward compiling my embedded code on a continuous
> integration server. Any suggestions (for or against) using GCC vs
> Microsoft Visual C as the compiler in that environment?
> >
> > The target is a 16-bit Freescale part, using CodeWarrior.
>
> As mentioned in other posts as well, IMHO real integration can only
> be run on the target or with a target simulation. In the embedded
> world, running the suite of unit tests on the host is not
> "integration" but is an extremely important step in becoming agile.
> Therefore for true integration you need to start developing your
> system or sub-system level tests.
>
> Any other opinions?
>
>
>



[Non-text portions of this message have been removed]




Mon Jun 15, 2009 12:07 pm

jwgrenning
Online Now Online Now
Send Email Send Email

Forward
Message #408 of 435 |
Expand Messages Author Sort by Date

I'm working toward compiling my embedded code on a continuous integration server. Any suggestions (for or against) using GCC vs Microsoft Visual C as the...
davekelloggs
Offline Send Email
May 29, 2009
5:13 pm

Hi Dave I'd go with gcc. It is more portable. And more script frendly. James Sent via BlackBerry from T-Mobile ... From: "davekelloggs"...
James Grenning (BB)
jwgrenning
Online Now Send Email
May 29, 2009
5:16 pm

Dave: Of the two, I agree with James: gcc is probably going to be easier (maybe MinGW instead of Cygwin just to keep it simple?). I believe, however, that ...
Mark Vander Voord
mvandervoord
Offline Send Email
May 29, 2009
5:23 pm

Dave, If you are insistent with going with a non-embedded compiler, I would definitely lean towards GCC over anything else. Especially something from ...
Greg Williams
willi297
Offline Send Email
May 29, 2009
5:26 pm

gcc and g++ work well for embedded applications. I've built applications with gcc and glibc that ran fine on my desktop. The same applications cross compiled...
Rick
rick_clements
Offline Send Email
May 29, 2009
6:25 pm

Dave, We tend to treat our CI servers as "The Golden Build". We even go as far as building the actual FW release candidate and post it as a build artifact and...
Greg Williams
willi297
Offline Send Email
May 29, 2009
5:22 pm

Hi Greg, I'm unclear what you mean with this mail? Could you clarify it a little further? Are you saying to not use any of these compilers? Bas...
Bas Vodde
basvodde
Offline Send Email
May 30, 2009
1:12 am

Bas, No, sorry if it came across that way. I am basically saying that it is better to use the compiler you are using for your embedded target if it has a...
Greg Williams
willi297
Offline Send Email
Jun 1, 2009
7:16 pm

Hi Greg, Hmm... yeah... I understand. Though, I agree with all you are saying, I wouldn't make the same recommendations. Perhaps its just the context here, ...
Bas Vodde
basvodde
Offline Send Email
Jun 4, 2009
10:08 am

Hi I agree with needing the fast turn around build during unit tests, like Bas explains. Why? To get feedback sooner and avoid debugging. The longer the...
James Grenning
jwgrenning
Online Now Send Email
Jun 4, 2009
11:43 am

Bas, Yes, we are definitely saying the same thing. My original point was that the last place to scrimp is on your CI server. Yes, please feel free to use GCC ...
Greg Williams
willi297
Offline Send Email
Jun 4, 2009
2:44 pm

... As mentioned in other posts as well, IMHO real integration can only be run on the target or with a target simulation. In the embedded world, running the...
marktxx
Offline Send Email
Jun 13, 2009
2:13 pm

Hi Mark Integration is a pretty broad term, and there are many levels. Some amount can be done off target. But the ultimate, and maybe unattainable in some...
James Grenning
jwgrenning
Online Now Send Email
Jun 15, 2009
12:08 pm

Mark, It is a tough choice to find the right balance of unit, integration, and system level testing. You really need to have some type of full end-to-end suite...
Greg Williams
willi297
Offline Send Email
Jun 15, 2009
2:50 pm

... What do you consider a "CI system" is in the embedded world using C and/or C++ (with a little assembly) as the development language?...
marktxx
Offline Send Email
Jun 28, 2009
2:32 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help