Atmel Studio CI builds

Go To Last Post
14 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

I have limited experience with AVR and am implementing the CI for our team. We use Atmel Studio 7.

I would like to be able to build our project on Jenkins, which is a .atsln file and several .cproj files.

Is it possible to build using these .cproj files directly, or do I need to create and maintain and entirely separate makefile for our CI?solitaire.onl/ 9apps.ooo/ What strategies do you use for AVR development and CI?

This topic has a solution.
Last Edited: Thu. Jan 23, 2020 - 06:03 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

First I would edit your post to not contain abbreviations, they can be misinterpreted.

 

There are people who swear by using their own make files, but I have never ever seriously looked at one.

Always just start a new project, add the files I want and the AS7 will auto generate a make file.

But if you want to you can also add your own make file later on, so it is entirely up to you what you want.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

There's been other threads about this before. AtmelStudio.exe can be invoked with command line parameters that cause it to build the code headless rather than invoking the GUI. You'd use this to setup a Jenkins build for Constant Integration.

 

Try running "atmelstudio /?" and you will see a dialog like:

 

 

It is /build you would use while specifying the .atsln name but as other threads about this show, there are other options you are going to need to specify (like saying whether "Debug" or"Release" should be built etc.)

First I would edit your post to not contain abbreviations, they can be misinterpreted.

Which abbreviation? You can't mean "CI" can you? I think most programmers know the concept of "Constant Integration" in an Agile programming environment. (basically you build the coed base every time a change is pushed to revision control to prevent the master build being broken by any change pushed into it).

Last Edited: Mon. Jan 20, 2020 - 08:41 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:

 

Which abbreviation? You can't mean "CI" can you? I think most programmers know the concept of "Constant Integration" in an Agile programming environment. (basically you build the coed base every time a change is pushed to revision control to prevent the master build being broken by any change pushed into it).

Well, that is at least one of them. As a Hardware engineer by trade and doing programming as a hobby I do not know all the abbreviations that are "normal talk"  in the software world.

I can also imagine there are more people like me here that are not full time involved in software/firmware development or only do it as a hobby and thus do not see tings with the professionals eyes, nor keep up to date with how that world is evolving.

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yeah but anyone who knows how to help the OP is going to know the term they are helping with ;-)

 

It's like there are hardware questions posted here that talk about terms and concepts that software only engineers like me don't understand, but that's OK because there was never any hope of me helping them either :-)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

CI? Cretin Interface.

 

Next...

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wikipedia on the subject of CI:  https://en.wikipedia.org/wiki/Continuous_integration

 

The specific step discussed here:  https://en.wikipedia.org/wiki/Continuous_integration#Automate_the_build

 

IOW you want a computer to trigger and run the build from start to finish. You don't want a human to have to manually run AS7, File-Open the .atsln and then F7 it, but for all that to be triggered to happen from a single command in a script/batch file. A build agent (often Jenkins:  https://jenkins.io/ ) is responsible for doing all that is necessary to build (and often test) the whole thing. It might be timed triggered (like a "nightly build") or it may (usually) be triggered each time a changeset is pushed into revision control.

This reply has been marked as the solution. 
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the clarification of the TLA, as to an old DECie like me CI has a completely different meaning! smiley

Jim

TLA (Two/Three Letter Acronym )

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
get $5 free gold/silver https://www.onegold.com/join/713...

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

meslomp wrote:
First I would edit your post to not contain abbreviations, they can be misinterpreted.

Cliff has explained the CI abbreviation but what does AVR stand for ? wink

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok, think I de-railed the post a bit.

Time to get it back on the OP's track as else he might run like crazy , hahahahahaha.

I think Clawson gave him a good lead.

Would be nice for future reference if the OP would post his findings here if it indeed solved his problem.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As I say this is not the first thread about this and je_ruud/morten/? have answered in previous threads with the correct list of command line parameters you need to give to atmelstudio.exe to invoke a headless build.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I found CI to be straightforward with a packaged version of the toolchain and a simple Makefile. Even a moRon could figure it out.

 

https://github.com/epccs/RPUno/blob/master/.travis.yml

 

Most builds are frameworks for testing and debugging; they are not applications (but some are applications.) The build goes very fast like this (Travis runs 5 jobs with my free account).

 

https://travis-ci.org/epccs/RPUno

 

For comparison, the build time can be substantial with a more complex toolchain setup.

 

https://travis-ci.org/MCUdude/MegaCore

 

I have not used Jenkins or other CI.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AppVeyor runs on Windows Server with instances of Visual Studio 2015; so, Atmel Studio 7 should be able on AppVeyor.

https://www.appveyor.com/docs/windows-images-software/#visual-studio-2015

Atmel Studio 7.0.2397 download | AVR Freaks

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

One thing to be careful of when simple makefiles is whenever someone adds a new file to the project (or even renames one) there is potential to break the build.