www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmierung ATTINY12 in GCC


Autor: gästele (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: R. Freitag (rfr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

genau das heisst es. Der ATTINY12 hat keinen Stack, daher ist ein 
Programmieren mit Funktionsaufrufen nicht möglich.

Gruss

Robert

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  gästele (Gast)

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

Ja.

Autor: gästele (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  gästele (Gast)

>.include "m8def.inc"

Für den tiny12? Wohl eher nicht . . .

MFg
Falk

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: gästele (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es wird schwierig und ist folgendermassen machbar:

Mit sehr fragwürdigem Sinn allerdings :-)

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann an deiner Schaltung liegen und an dem Pin an dem du misst. Für 
PB3, PB4 und ganz besonders PB5 muss man ins Datenblatt schauen! Für's 
erste schlage ich vor, dass du nur einen Pin PB0 schaltest und auch an 
diesem misst. Wenn das fehlschlägt, dann solltest du mehr Infos 
ranschaffen.

Autor: Tiny11 User (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Das Kleinkind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die DDR für PortB schon auf Ausgang gesetzt?
ldi r16,255
out ddrb,r16

Autor: Jacob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ey mach mal die Augen auf du Kleinkind :P

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tiny11 User (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Das Kleinkind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ey mach mal die Augen auf du Kleinkind :P

Das stand vorhin noch nicht da.
Wurde warscheinlich erst nach meiner Antwort eingefügt. :=)

Autor: gästele (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ich habe den Ausgang PB0 bereits genutzt. Im Anhang dazu ist der 
Schaltungsausschnitt. Trotzdem: Keine Spannung.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Schaltbildfetzen reicht (mir) nicht aus, um die Sache zu beurteilen.

Z.B. wo geht die Abzweigung direkt hinter dem PB0 hin (GND? => gemessene 
Spannung 0 ist erklärbar).

Z.B. stimmt der Rest der Schaltung, hat der µC überhaupt eine Chance, 
das an sich richtige Programm auszuführen?

Sorry.

Autor: gästele (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Abzweigung geht nur zum Programmierstecker. Desshalb der Jumper. Ich 
habe dann zwischen GND und der Abzweigung gemessen.

Autor: Das Kleinkind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit oder ohne ProgStecker?

Autor: gästele (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit. Aber hat das überhaupt einfluss? Der fehler ist ja, dass ich schon 
am Pin des AVR's nichts messen kann. Programmieren lässt er sich 
einwandfrei.

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.