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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.