Close

Programming Tool Chain

A project log for Happy Clap Switch

Clap-clap, light goes on. Clap-clap, light goes off. This makes me happy.

alan-greenAlan Green 06/07/2019 at 21:340 Comments

I'm working on getting the source published on github. In the meantime, here's a short write up about the tool chain.

Happy Clap's toolchain is all Atmel, all the time. I have been using the standard Atmel Windows toolchain for quite a few years now. It uses the GCC compiler, and other open source tools, to build and run code. Over the top of this, it uses a Microsoft Visual Studio based IDE, Atmel Studio. 

Atmel Studio

Atmel Studio provides a convenient way to edit, compile, load and debug. It also is adequate at autocomplete suggestions, cross referencing source and highlighting the line that has a compiler error. It's... fine.

That said, Atmel Studio feels a little old and creaky. It seems to be in the process of being deprecated in favor of MPLAB X IDE. However, MPLAB's AVR features are marked "preliminary, beta support, not production tested so I am using Atmel Studio. It's fine.

Atmel START

Atmel START has a website (start.atmel.com) where you configure your part using a point-click-and-occasionally-type interface.  Mostly it's about selecting which peripherals you're going to use and how they are configured. START then generates boilerplate code to initialize peripherals as well as libraries and example code to use, all in a form that can be used by one of several IDEs.

Because START provides the source for libraries and configuration code, it's possible to rewrite just about anything you'd prefer to do differently.

I like START. It's not perfect, but it sure beats figuring out every little detail from scratch.

Atmel ICE

Finally, I use Atmel's standard programming tool, the Atmel ICE. It was expensive, but I've had many years' of use out of it, and, with Atmel Studio, it Just Works.

By Just Works I mean, when ICE says the voltages are wrong, I know that the voltages are wrong. When ICE says it programmed a chip, I know that the chip is programmed. And it's reasonably fast, too.

I'm keen to give the new MPLAB Snap a go, to see if it measures up in terms of features and reliability.

Discussions