Programmierung ATTINY12 in GCC

Gast #1062607
Lesenswert?

Hallo, ich versuche gerade einen ATTINY12 mit AVR Studio in C zu 
programmieren. Beim kompilieren kommt dieser Fehler:
../2.c:1: error: MCU 'attiny12' supported for assembler only
Heisst das, dass ich den Controller überhaupt nicht in C mit AVR Studio 
programmieren kann?
Gast #1062682
Lesenswert?

Schade, dann muss ich es in Assembler probieren.
Aber wieso funktioniert das untere Programm nicht? Es wird zwar alles 
fehlerfrei übertragen, aber am ATTINY liegen bei den ausgängen keine 
spannungan en.

.include "m8def.inc"

         ldi r16, 0xFF
         out DDRB, r16
         ldi r16, 0xff
         out PORTB, r16

ende:    rjmp ende
Persönliche Seite #1062691
Lesenswert?

gästele wrote:

> Heisst das, dass ich den Controller überhaupt nicht in C mit AVR Studio
> programmieren kann?

Es wird schwierig und ist folgendermassen machbar:

0) Möglicherweise C-Header für dein Teil schreiben.

1) Du wählst ein AVR-Derivat, das für C unterstützt wird und möglichst 
"nahe" am ATtiny12 ist.

2) Du schreibst deinen Code so, daß keine unerlaubten Instruktionen 
erzeugt werden. Ist ein eigenes Kapitel ;-)

3) Compileren für den "nahen" µC, daber SFR-Beschreibungen für den 
eigentlichen µC verwenden.

4) Assemblieren und Linken für den Ziel-µC. Falls 2) nicht erfüllt ist 
sollte der Assembler meckern, evtl auch der Linker meckern.
Gast #1062694
Lesenswert?

@  Johann L.: Da ich noch nicht sehr viel mit AVR's gemcht habe, 
probiere ich es möglichst erstmal ohne viel komplizierte Schritte.

@  Falk Brunner: Danke, ich habe es durch tn12def.inc ersetzt, aber 
leider messe ich trotzdem keine spannung.
Gast #1062719
Lesenswert?

Nen C-Compiler der funktionieren könnte wäre der ICCTiny von Imagecraft.

Ich benutze selbigen für ATTiny11 Chips, und das ganze funktioniert 
soweit eigentlich auch ganz gut...

http://www.imagecraft.com/devtools_tinyAVR.html

Ob du damit glücklich wirst ist was anderes, aber es gibt ne 30-Tages 
Version zum Download daher kann man da nicht viel falsch machen. Nach 
den 30 Tagen kann man es auch für nicht komerzielle Zwecke 
weiterverwenden.
#1062752
Lesenswert?

gästele wrote:
> Heisst das, dass ich den Controller überhaupt nicht in C mit AVR Studio
> programmieren kann?

Ja.
Aber warum sollte man sich auch mit Chips beschäftigen, die man ausm 
Museum klauen muß?
Nimm den Nachfolger ATtiny13 (Reichelt: 0,80€), dann klappts auch mitm 
GCC.


Peter
Gast #1062766
Lesenswert?

Ich für meinen Teil tue es weil ich geizig bin. Der ATTiny11 kostet in 
der SMD Variante 50 Cent, da hab ich mir irgendwann mal nen Vorrat von 
angeschafft und der wird jetzt aufgezehrt...

Ist halt ziemlich billig das Ding...
Persönliche Seite #1062886
Lesenswert?

mr.chip wrote:
>> Es wird schwierig und ist folgendermassen machbar:
>
> Mit sehr fragwürdigem Sinn allerdings :-)

Es ist ein möglicher Weg.

Wenn ich so ein Ding zu proggen hätte... mit gcc antesten vertut man 
sich ja nix. Er macht C -> asm, was ist daran fragwürdig? asm kode kann 
mal spaßig sein, aber es ist aufwändiger. Und evtl. gibt's schon ne 
C-Vorlage.

Es gehen sogar Funktionsaufrufe (per inline-Func). ISRs würd ich 
allerdings von Hand schreiben, bzw das kann man wohl nicht an den 
Compiler abwälzen.
Gast #5225973
Lesenswert?

Hi

>Warum hat er dann einen Stack Pointer und ein Hardware Stack? Datenblatt
>Seite 4.

Warum nicht? Der Hardware Stack ist allerdings sehr begrenzt:

"The ATtiny11/12 uses a 3-level-deep hardware stack for subroutines and 
interrupts."

Außerdem kennt der ATTiny12 keine Push/Pop-Befehle.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren