avr-gcc unter linux Probleme mit ISR

Gast #365212
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>
Angehängte Dateien:
Gast #365213
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.
Gast #365216
Wo ist jetzt das Problem mit den Vektoren ?

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

Passt doch...

Gruß Sebastian
Gast #365219
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

Eine eigene Frage? Dieser Thread ist über 20 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.