www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmel AT91SAM7A3 (ARM) - Aufruf eines Software-Interrupts braucht extrem lang


Autor: Johannes B. (jojob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich nutze ein etwas älteres AT91SAM7A3-DK Board von Atmel für die 
Portierung einer Firmware auf ARM. Hierfür würde ich gerne 
Software-Interrupts verwenden um vom User-Mode in den Supervisor-Mode zu 
springen. Eigentlich sollte dieser Aufruf mit den nachfolgenden Code nur 
ein paar Zyklen dauern, in Realität benötigt er allerdings etwa 500-700 
ms. Die LED, die hier angesteuert wird, blinkt extrem langsam.

Hat jemand eine Idee woran dies liegen könnte?

LG,
jojob
reset_vector:
   ldr      pc, =reset_handler      // Reset
[...]
swi_vector:
   ldr      pc, =swi_handler         // Software Interrupt
[...]
reset_handler:
   // Enable Main Oscillator, Set PLL to 96 MHz, Set MCK to 48 MHz, Set up default interrupt handler
   // Memory remap
   // Stack init
   // Copy data section
   // Clear bss section
   // branch to main
[...]
swi_handler:
   movs   pc, r14

int main(void) {
   while (1) {
      asm("swi #1");
      PIOA->PIO_CODR = LED_A;
      asm("swi #1");
      PIOA->PIO_SODR = LED_A;
   }
   return 0;
}

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.