Het programmeren van de ATtiny817,

dat wil zeggen een uitvoerbaar programma in het geheugen van de chip schrijven, gaat met behulp van een zogenaamde Unified Program and Debug Interface of UPDI. Dit klinkt als de PDI van ATXmega-processors, maar het is niet hetzelfde. En UPDI is ook verschillend van de TPI die wordt gebruikt op kleine AVRtinies zoals de ATtiny4. Net als PDI, ondersteunt UPDI debuggen maar de interface loopt via één draad; en net als bij TPI wordt de UPDI-modus geactiveerd met een 12-volt puls op de reset-pen (maar kan ook worden geactiveerd door het programmeren van een fuse). De zespolige connector die compatibel met alle drie de interfaces blijft hetzelfde.

Zorg er, voordat u aan de slag gaat met de ATtiny817 en zijn familieleden, voor dat u het juiste gereedschap hebt om ze te programmeren.

Atmel Studio 7 (AS7) kent het ATtiny817 Xplained Mini-board

Als u AS7 start en de kaart verbindt met de computer, zal de IDE hem detecteren en een bijbehorende pagina openen met links naar documentatie. U kunt ook klikken op New ASF Example Project maar het venster dat dan opent is leeg. Klikken op Update Kit Information hielp niet, maar maakte wel een nieuwe link naar de Atmel Start-website. Klikken op Kit Userguide bracht me naar een 404 Not Found-pagina.



Via de Atmel Start-link komt u op een interface waar u een project kunt configureren op dezelfde manier als in de ASF-wizard in AS7, maar dan online. U kunt een kaart en de bijbehorende drivers kiezen, spelen met de port-multiplexer en het event system, middleware-bibliotheken configureren, en, als alles klaar is, het project downloaden (export) naar uw computer en importeren in AS7, IAR Embedded Workbench of het zelfstandig gebruiken met een makefile. Alle drie de mogelijkheden zijn te exporteren in één ‘pack’. Het bestand dat u downloadt heeft de extensie ATZIP, maar u kunt het hernoemen naar ZIP en uitpakken met welk programma u maar wilt.

Ik had een project geconfigureerd om de LED op PC0 te besturen, de drukknop op PC5 in te lezen en iets te doen met de QTouch-vlakken op PA6 en PA7. Eerst voegde ik de drivers toe die ik daarvoor nodig had: De PTC-touch-controller, een USART omdat die altijd handig is en het Event System om te zien of ik daar iets mee kon doen. De wizard maakt daar een blokschema van, maar de PTC stond daar niet op. En ook in de code zag ik geen spoor van de PTC behalve in het documentatiegedeelte, waar een lege file te zien was. Ik ging terug naar de stap Add Component en ik vond een QTouch-Library in de Middleware-sectie. Toen ik die toevoegde kreeg ik een nieuw tabblad: QTouch Configurator. Nu kon ik de aanraakknoppen maken en ze verbinden met PA6 en PA7 (ze moeten wel vrij zijn in de PINMUX Configurator). Ik zag nog steeds geen PTC, dus ik ging er vanuit dat dat zo hoorde. In de PINMUX Configurator maakte ik labels voor led0 en user_button. In de Event System Configurator verbond ik PC5 met kanaal 2 (de enige mogelijkheid) en daarna met Event Output 0 (mogelijke opties: 0, 1 en 2).



Daarna downloadde ik mijn configuratie voor later gebruik en exporteerde het geheel als een project voor Atmel Studio.