uC/OS-III und Cortex M3

OP #2547646
Hallo,
ich habe mir mal uC/OS-III runtergeladen. Für Privatgebrauch darf man 
das ja verwenden.
Ich habe es nun auf Cortex M3 portiert, und soweit läuft auch alles 
bestens!
Nur habe ich jetzt  2 offene Punkte.

1. Bei uC/OS-III muss man dem OS über einen API-Aufruf mitteilen, wann 
man eine ISR beginnt und wann sie aufhört. Das ist nötig, damit 
verschachtelte Interrupts richtig gehandhabt werden. Oder so...
Auf ARM7 war das relativ einfach, da es dort nur einen Vektor gibt für 
alle Interrupts. Dort konnta man dann zuerst OSIntEnter() aufrufen, 
danach die auszuführende ISR, und anschliessend OSIntExit(). Beim Cortex 
hingegen hat man für jeden Interrupt einen eigenen Vektor. Muss ich also 
tatsächlich in jeder ISR die ich schreibe, selber daran denken, zuerst 
OSIntEnter() und am Schluss OSIntExit() aufzurufen, oder kann ich das 
vielleicht irgendwie automatisieren?

2. Einige ARMe haben eine MMU oder MPU. Damit könnte man doch den 
Speicherbereich jedes Tasks schützen, oder? Dazu muss aber ständig diese 
MMU umkonfiguriert werden, denn irgendwie muss ich ihr ja mitteilen, 
welcher Task gerade aktiv ist. Wo könnte man das einbauen? Hat da jemand 
vllt. ein Beispiel?

Antwort schreiben

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