www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM9260 - ISR, aber wann?


Autor: claus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen Forum,

ich verwende das SEGGER embOS auf einem AT91SAM9260 (ARM9 von Atmel).
In der Applikation verwende ich ein ASSERT Makro welches mir u.a. eine 
Fehlermeldung auf die stdout schreibt (mit printf).

Nun habe ich das Problem dass innerhalb einer ISR kein printf möglich 
ist.
Schlägt nun eine Assertion zu, "raucht die Applikation ab" (bzw. landet 
im embOS Error Handler).

Das möchte ich verhindern indem ich ASSERT (den Teil mit der stdout) wie 
folgt implementiere:
if(!isInISR())
{
   printf("Assertion failed");
}

Nun zu meiner eigentlichen Frage:
Wie finde ich heraus ob ich mich gerade im Interruptkontext befinde? Wie 
implementiere ich isInIsr()?

Im Compilermanual habe ich dazu leider noch nichts gefunden. Ich 
verwende überigens die IAR Toolchain.

Ich freue mich auf eure Antworten.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Claus,

wieso fragst du eigentlich nicht die Segger Leute selber? Und falls du 
nicht im Support bist bzw. gar keine Lizens hast kannst du zumindest in 
derem Forum fragen.

--Tom

Autor: claus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das ist ne gute Idee :-)

Allerdings hab ich ne PowerPac Lizenz von IAR, was nichts anderes ist 
als embOS.

Und der PowerPac Support von IAR ist mehr als dürftig... Drum hab ichs 
erstmal auf diese Weise probiert.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das mit dem IAR Powerpac Support ist ne bekannte Sache aber dafür 
sind die Leute von Segger umso besser. Wie gesagt, schreib den Jungs 
einfach mal ne Email oder schreib in deren Forum.

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.