Wednesday, June 21, 2017

The Rabbit-Hole of Atmel Fuses

So, you've just got your Atmel-ICE Debugger and you're rarin' to go. You follow the step-by-step, wait, there are no step-by-step instructions.

You finally resort to plugging things in at more-or-less random, fire up Atmel Studio and blunder your way through creating a new project, importing blink and compiling.

Eventually, by a combination of persistence, web searches, document-diving and sheer chance you come upon this window:

Let me point out a couple of things that might save you some heartburn. First off, an empty checkbox means enabled. Neat, huh?

Second, the HIGH.SPEIN can be disabled, but once you've done so there is no going back without a high-voltage programmer. You get a warning as shown in the screen cap, but the warning makes no mention of the permanent nature of the change. My muddled understanding is that the fuse is set to prevent re-programming of production units. A neat feature but so poorly documented that you'll probably brick one or two MCUs before you get the point. I can still program my sacrificial Arduino Mega via Atmel Studio and the ICE but programming via USB no longer is an option.

I'm not alone in my bewilderment and frustration with Atmel. Watch this video and listen closely, particularly his instructions at 2:22.

Pay heed or pay for a high-voltage programmer.

No comments:

Post a Comment