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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren