Importing the ATZIP file in AS7

produced a warning about the version of the Device Startup that was too old, even after updating ASF, so the problem is somewhere else. Since I couldn’t find any information about this I accepted to create the project with the old Device Startup.



Once imported it was time for the first test, so I pressed F7 to build ‘the solution’ (oh how I hate that terminology) and… fail :-(

Two errors, probably related since they both concern clkctrl:
  • Error recipe for target 'src/clkctrl.o' failed
  • Error 'CLKCTRL_CLKSEL_OSC20M_gc' undeclared (first use in this function)
 
Usually this is the point where I give up and bin the Device Under Test (DUT), having spent too much time on it already, but since I find it very frustrating to end with a failure I decided to investigate some more.

From the offending code line I quickly ended up in the register definition file iotn817.h where, after a bit of scrolling, I found CLKCTRL_CKSEL_OSC20M_gc. A typo in the generated code, an ‘L’ too much, can you believe that? Apparently nobody at Atmelcrochip tested this product far enough to avoid such stupid mistakes.

After correcting the typo, the solution to fix the solution, the program built without errors. Pressing Alt-F5 to launch the debugger (after letting AS7 upgrade the mEDBG firmware) nicely brought me to the beginning of main. Finally I was in business.

Conclusion

The ATtiny817 and its brethren probably are exquisite microcontrollers with many interesting capabilities and features. The ATtiny817 Xplained Mini board is a nice little board with lots of prototyping possibilities thanks to its numerous holes and extension connector options. Integration in AS7 is good; I didn’t have to do anything to make the board known to the IDE.

Having a working debugger really is great for software development.

The board retails for about $10 so anyone interested should be able to afford one.

On the software side things are a little less rosy: no example programs and buggy code produced by the online Start environment make it unnecessarily difficult to get started.