AT91SAM9260 - ISR, aber wann?

Gast #1702548
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:
1
if(!isInISR())
2
{
3
   printf("Assertion failed");
4
}

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.
Gast
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
Gast
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.
Gast
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

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