mikrocontroller.net

Forum: Compiler & IDEs avr-gcc unter linux Probleme mit ISR


Autor: Oliver Schneidewind (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi @ all

ich versuche seit Tagen mit Hilfe des avr-gcc eine Kleine ISR für den
Timer zu Schreiben.Ziel ist es eine At90s2313 dazu zu bringen das er
auf Port B einfach bis zum Overflow die Bit hochzahlt.
Problem ist das es einfch nicht zu den Ersehnten Interrrupt kommt.
Den Code für des beispeil sende ich als Anhang.
Nach den Compiliern mit den aufruf

avr-gcc -mmcu=at90s2313 -o demo -demo.c

habe ich mir mal die mühe gemacht eine objdump mit den aufruf :

avr-objdump -S demo > demo.s
zu machen um mir das Assambly anzusehen und bin mir nicht sicher ob die
Werte für die Interrupt Vectoren stimmen, die dort eingetragen sind
jedenfalls funktioniert das ganze nicht was mache ich falsch

Angaben zu den benutzten Versionen :
binutils-2.16.1
gcc-core-3.4.6
avr-libx-1.4.4

zum laden
avrdude5-1.tar.gz

mfg Olvier

-- auszug demo.s  ---

00000000 <__vectors>:
   0:  0a c0         rjmp  .+20       ; 0x16 <__ctors_end>
   2:  22 c0         rjmp  .+68       ; 0x48 <__bad_interrupt>
   4:  21 c0         rjmp  .+66       ; 0x48 <__bad_interrupt>
   6:  20 c0         rjmp  .+64       ; 0x48 <__bad_interrupt>
   8:  1f c0         rjmp  .+62       ; 0x48 <__bad_interrupt>
   a:  37 c0         rjmp  .+110      ; 0x7a <__vector_5>
   c:  1d c0         rjmp  .+58       ; 0x48 <__bad_interrupt>
   e:  1c c0         rjmp  .+56       ; 0x48 <__bad_interrupt>
  10:  1b c0         rjmp  .+54       ; 0x48 <__bad_interrupt>
  12:  1a c0         rjmp  .+52       ; 0x48 <__bad_interrupt>
  14:  19 c0         rjmp  .+50       ; 0x48 <__bad_interrupt>

Autor: Grummel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ein solches Problem hatte ich unter linux auch schon.
KOmischerweise hat es geklappt, als ich statt dem
"ISR(TIMER1_OVF1_vect)"  die ältere (und ja angeblich schon
veraltete)
SIGNAL(SIG_OVERFLOW0) benutzt habe.Anders hat es bei mir einfach nicht
geklappt.

Autor: Oliver Schneidewind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bringt leider auch nichts ich bemerke keine änderung am Programm wenn
ich das einsetzte

Ciao

Oliver

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"DDRB    = 0x00;"

Alle Pins auf Input und hoffen dass sie was ausgeben?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist jetzt das Problem mit den Vektoren ?

* Timer/Counter1 Overflow */
#define TIMER1_OVF1_vect    _VECTOR(5)
#define SIG_OVERFLOW1      _VECTOR(5)

Passt doch...

Gruß Sebastian

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktioniert denn überhaupt irgend etwas etwas? Was liegt als Takt an?

Autor: Oliver Schneidewind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit einer sog busy_Wait Schleife scheind es zu gehen. aber der Idee mit
den Takt werde ich woll noch nachgehen.


Ciao

Oliver

Autor: Oliver Schneidewind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK Danke an Alle,

Asche auf mein Haupt ich habe vergessen das Produkt des Avr-gcc
mit hilfe von

avr-objcopy -O binary -demo demo.bin

zu wandeln um es mit avrdude  den at90s2313 gerecht zu servieren !


trotzdem Danke an alle.

Oliver

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.