Interrupt für serielle Kommunikation mit Hitachi SH7760

Gast #400038
Lesenswert?
• ▲
▼
Hallo,

ich programmiere einen Hitachi-Prozessor SH7760. Für die asynchrone
serielle Kommunikation (scif) möchte ich vom Polling auf Interrupts
umstellen.
Ich bin mir unsicher, wie ich die Initialisierung und die
Einsprungadressen zu handhaben habe. Ich habe fast alle codes in C für
QNX geschrieben (einiges auch in assembler).
Die ISR ist wieder kein Problem. Das sollte klappen.

Leider ist im Netz außer dem Manual nicht viel zu finden...
Gast #400039
Lesenswert?
• ▲
▼
Machts Du denn sonst keinen Interrupt auf dem Teil ?

Generell muß man dem Interrupt-Controller den Vector und die Priorität
der ISR mitteilen und dann hierzu den Interrupt freigeben. Aber das
steht doch alles im HW-Manual !(?)
Bei den H8-Typen von Renesas muß man unbedingt auch eine ISR für
fehlerhafte Übertragung aktivieren. Sollte beim SH vermutlich auch so
sein. Wie weit bist Du denn mit Deiner Routine ?
Gast #400040
Lesenswert?
• ▲
▼
Es handelt sich um eine startup-routine, in der bisher kein Interrupt
verwandt wurde.
Die anderen Programmteile (Hauptprogramm) stehen mir noch nicht zur
Verfügung.

Mittlerweile habe ich aber eine andere Harewaremanualausgabe gefunden,
in der alles steht (1343 Seiten). (welche register, adressen etc.)

ich denke jetzt komme ich voran...war nur ein rtfm problem
Gast #400043
Lesenswert?
• ▲
▼
Hallo miower,

so wie ich das verstehe, möchtest Du den Test durchführen bevor QNX
gestartet ist? Sowas habe ich auch mal gemacht, allerdings mir wurde
von den QNX Leute davon abgeraten, da man den Interrupt Controller dann
selber komplett programmieren muss. Dieser wird dann irgendwann von QNX
initialisiert und Deine Einstellungen sind weg, es gab auch ein Problem
mit der Umschaltung auf virtuelle Adressen (weiß ich aber nicht mehr
ganz genau)

Wenn Dein Test läuft, nachdem QNX oben ist, ist die Sache trivial. Dann
musst Du Dich einfach in den Interrupt einhängen, QNX sagen, dass es
diesen freigeben soll und drauf warten, dass er zuschlägt.

Gruß
Patrick
Gast #400044
Lesenswert?
• ▲
▼
wie soll es auch anders sein: ich will den test VOR qnx ausführen,
allerdings brauche ich die interrupts nur für das einmalige laden der
test-software. also ist es mir egal, ob qnx später alles zurücksetzt.
das problem der adressierung kommt wahrscheinlich noch. ich werde
sehen. nur die programmierung des interrupt controllers ist gerade mein
akutes problem. aber ich bin dran.

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.