www.mikrocontroller.net

Forum: Compiler & IDEs brauche Hilfe mit gcc


Autor: Florian Beiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe früher ziemlich viel mit 8051-Controllern programmiert(damals 
mit KEIL). Jedoch wollte ich jetzt mal was neues ausprobieren. Also habe 
ich mir einen ATMega163 gekauft und ein kleines Board dazu gebaut. Die 
Programmieruung des Controllers funktioniert freu!

Zum testen des Boards habe ich nun ein kleines Assembler-Programm 
geschrieben:

.include "4433def.inc"
         ldi r16, 0xFF
         out DDRB, r16
         out PORTB, r16
ende:    rjmp ende

Das Progrämmchen funktioniert auch einwandfrei --> Port B geht auf high.

Da mir die Programmierung mit Assembler jedoch viel zu umständlich ist 
habe ich gcc heruntergeladen, installiert und folgendes Programm 
ausprobiert:

#include <io.h>

int main (void){

  outp(0xff,DDRB);
  led = 0xFF;

  for (;;) {
  outp(0xff,PORTB);
  }
}

Aus einem mir nicht bekanntem Grund funktioniert das obige Programm 
nicht!?! --> alle PortPins sind low.

Kann mir bitte jemand weiterhelfen???
Vielen Dank im Voraus!!!

Florian

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das C-Programm dort oben würde kein Compiler übersetzen. Daher 
erübrigt sich auch der Rest der Frage.

Gruss,

Peter

Autor: florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lieber Peter!

Danke für deine große Hilfe!!!
Aber der Compiler übersetzt obiges Programm und und liefert keine 
Fehlermeldung! Leider funktionieren auch sämtliche gcc-Testprogramme 
(von AVRFreak) nicht :-(

schöne Grüße Florian

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Florian,

'hab Deinen Code mal durchlaufen lassen - und er gibt natürlich einen 
Fehler aus. -> led ist nicht definiert.

Auf dem STK500 gibt Dein Programm aber nur FF auf die LEDs und damit 
sind die dunkel.


Reiner

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Danke für deine große Hilfe!!!
> Aber der Compiler übersetzt obiges Programm und und liefert keine Fehlermeldung!

Gcc soll ein Programm übersetzen, bei dem Variablendeklarationen fehlen? 
Tut mir leid, das kann ich mir beim besten Willen nicht vorstellen!

> Leider funktionieren auch sämtliche gcc-Testprogramme (von AVRFreak) nicht :-(
Und du bist sicher, dass du auch avrgcc und nicht irgend einen anderen 
Compiler installiert hast? Die Beispiele liefen nämlich bei mir 
einwandfrei.

Ich würde dir ja gerne helfen, aber ich weiss nicht, wie ich das unter 
diesen Gegebenheiten tun kann.

Mal ein kleiner Hinweis. Ich weiss nicht, ob es etwas nützt aber nimm 
mal für die Variable "led" einen anderen Namen (z.B. stk_led oder sowas) 
und diese Variable definierst du als unsigned char. Wenn es dann immer 
noch nicht funktionieren sollte, dann liegt das Problem 
sehrwahrscheinlich 70cm vor deinem Bildschirm. Aber melde dich ruhig 
nochmal, wir bekommen das schon irgendwie hin ;-) Und um die LEDs des 
STK einzuschalten, musst du die Ausgänge auf low setzen. Nur mal 
nebenbei bemerkt.

good luck!

Gruss,

Peter

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
ja das mit den anderen Compilern könnte Dein Problem sein. Ich hatte 
selbst das Problem mit zwei anderen Makefiles von Borland und uniware. 
Mit Angabe der direkten Pfaden in der gcc_cmp.bat lief's dann.

Reiner

P.S. Aber eigentlich müste dann der Verkehrte Aufruf einen Fehler 
generieren!?

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.