ATtiny10 Assembler


Elektronik-Labor  Projekte   Tiny10

Das AVR-Studio unterstützt die kleinen Controller ATtiny4 bis 10 auf der Seite des Programmiergeräts. Aber beim Assembler fehlt noch was. Eine passende inc-Datei konnte ich jedenfalls nicht finden. Wenn man ein neues Projekt startet, bleiben die entsprechenden Controller grau.



Man könnte ja meinen, da programmiere ich einfach für den Tiny 13, so groß werden die Unterscheide schon nicht sein. Weit gefehlt: praktisch alle vergleichbaren Register haben unterschiedliche Adressen. Wenn man sich die Dateblätter genau ansieht, können die benötigen Register aber per Hand definiert werden. Der erste Versuch soll einfach nur mit den verfügbaren Leitungen am Port B klappern. Vier Register zum Port B werden daher mit equ definiert.

;Tiny10, erste Schritte

.equ PINB = 0x00
.equ DDRB = 0x01
.equ PORTB = 0x02
.equ PUEB = 0x03


ldi r16,7
ldi r17,0
out ddrb,r16


Loop:
out portb,r16
out portb,r17
rjmp loop



Das Programm lässt sich ohne Fehlermeldung übersetzen. Das Hex-File kann nun in den Controller geladen werden. Und tatsächlich: Es entrstehen schnelle Rechecksignale an B0, B1 und B2.



Interessant ist auch ein Blick auf die Fuses. CKOUT könnte mal interessant werden. RSTDISBL sollte man nicht verändern. Dann hätte man zwar einen Port mehr, dafür aber könnte der Controller nicht mehr umprogrammiert werden.



Was jetzt noch fehlt ist Bascom. Aber auch dort gibt es bisher noch keine Unterstütung mit der passenden Dat-Datei. Und auch in WinAVR scheint der Controller noch nicht verwendbar zu sein. Aber CodeVisonAVR kennt den Chip! Das werde ich mir mal genauer ansehen ...

Download: tiny10assembler.zip


Elektronik-Labor  Projekte   Tiny10