AT91SAM7S + YagartoIDE Interrupts benutzen

Gast #572198
Lesenswert?
• ▲
▼
hallo.
habe mit Eclipse (YagartoIDE) nach der anleitung (Using Open Source 
Tools for AT91SAM7S Cross Development, Revision C) die 
entwicklungsumgebung eingerichtet. flashen und linken klappt alles.
jedoch mit den interrupts klappt es noch nicht.
irgendwie wurde die ganze interruptgeschichte in CRT.S ausgelagert (oder 
verstehe ich das falsch?).
habe davor IAR benutzt und da mußte man z.b mit:

AT91F_AIC_ConfigureIt (AT91C_BASE_AIC,
                       AT91C_ID_SYS,
                       6,
                       AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL,
                       DBGU_irq_handler);

die interruptroutine angeben und dann die routine "DBGU_irq_handler" 
definieren.

wie läuft das jetzt mit CRT.S in Eclipse? ich habe die 
lib_AT91SAM7S256.h auch in das projekt eingebunden.


Moderator Persönliche Seite #572508
Lesenswert?
• ▲
▼
Die "Interruptgeschichte" wird in Jim Lynchs Tutorial durch einen 
Assembler-Wrapper in der crt0.s implementiert. Ist der übliche Ansatz 
wie auch in vielen Atmel AT91 Beispielen (auch für IAR). Im C-Code muss 
man dann nichts besonderes (compilerspezifisches) beachten. ISR einfach 
wie eine "normale" Funktion programmieren. Objekt-Datei aus crt0.s 
einfach anlinken. lib_at91 hat mit dem eigentlichen IRQ-Handling nichts 
zu tun. Beim Datanaustausch die üblichen Vorkehrungen treffen 
(volatiles, Zugriffe "atomic" falls erforderlich, etc.). Volatiles 
wurden in einigen AT91 Beispielcodes gerne vergessen, der IAR-Compiler 
scheint wohl etwas toleranter bei solchen Fehlern - es sind aber dennoch 
Fehler. Weitere Hinweise ohne genauere Beschreibung von "klappt das noch 
nicht" etwas schwierig.

Antwort schreiben

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.

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.