ATtiny10 Assembler
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