LPC2468: IRQ Problem

OP #793317
Lesenswert?
• ▲
▼
.. es wird einen Interrupt vom Timer generiert und einen vom CAN, wenn 
eine Nachricht eintrifft.Das komische ist: wenn ich dem Timer-Interrupt 
eine höhere Priorität gebe als CAN funktioniert nur der Timer und wenn 
umgekehrt funktionieren die beiden nicht, ich komme nicht weiter und 
habe alles versucht, kann mir jemand vielleicht helfen?
Gast #793444
Lesenswert?
• ▲
▼
1
CAN1CMR = 0x04; // release receive buffer
2
VICVectAddr = 0; /* Acknowledge Interrupt */

Kann, ich bestätigen. Mehr mache ich hier auch nicht.
Allerdings KEIL auf LPC2368.

Deswegen weiß ich auch nicht ob das Attribut __irq beim GNU
auch so in der Form notwendig ist.
Gast #794336
Lesenswert?
• ▲
▼
Es gibt in der Regel eine Datei, die heisst "makefile", in der wird der 
Compiler aufgerufen. Wenn dort der Parameter "-mthumb" oder 
"-mthumb-interwork" mit drin steht, dann wird der ARM im Thumb Mode 
compilliert. Am einfachsten ist es die Console Ausgabe durchzuforsten 
und nach dem GCC Aufruf zu schauen, ob dort einer der vielen Parameter 
so heißt. Die "makefile" Datei enthält meistens diesen Parameter, man 
muss aber genau analysieren ob der auch aktiv ist. Denn meistens sind 
diese Dateien mit Parametern versehen.
OP #794353
Lesenswert?
• ▲
▼
Die CPU-Anweisungen im Makefile :

CC        =arm-elf-gcc
OBJCOPY   =arm-elf-objcopy

#
# CFLAGS
#
WARNINGS   =-Wall -Wshadow -Wpointer-arith -Wbad-function-cast 
-Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes 
-Wunused
CPU_TYPE   = -mlittle-endian -mcpu=arm7tdmi -marm -fpack-struct 
-DUART1_LPRINTF
DEBUGFLAGS = -gdwarf-2 -MD -O
Gast #795901
Lesenswert?
• ▲
▼
Vielen Dank.

... Ich brauch ja auch noch ein bischen Hilfe, wo ich was weis helf ich 
gerne.

Meine S*.s Datei brauchen Sie nur dann, wenn Sie den Prozessor im Thumb 
Mode betreiben wollen, dann funktionieren Ihre Interrupts 
"__attribute__((interrupt))" nicht mehr, weil der GNU die dann nicht 
mehr compillieren kann. (Siehe Code ab "IRQ_Handler:".)

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.