Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Interrupt, CAN Kategorie: Progr. Assembler, TaskingTools, OS (von André H. - 9.10.2005 12:06)
Als Antwort auf Interrupt, CAN von Eltman - 24.09.2005 9:25
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
Halo Eltman,

> Ic hab mir einen CAN Treiber mit 29BIT ID in ASM geschrieben.
> Will aber noch das in Interrupt ausgelöst wird wenn ich eine
> MSG empfangen wurde.
> Die Sprungadresse muss ich ja im Interruptvektor eintragen,
> aber wie mach ich das ?
> Hat jemand schon mal was ähnliches gemacht.
> Beispiel währe super.

Dazu mu�t Du das OS abändern. Die Interruptvektoren stehen am Anfang des OS.
Der Vektor befindet sich an Offset 0x100 und führt derzeit zu einer Interruptroutine an 0x85F6.
Dort sollte "FA00F685" stehen.
Steht Deine Interruptroutine beispielsweise in Segment 1 an Offset 0xabcd, muÃ?t Du
den Eintrag in "FA01CDAB" ändern.

Die Zeile in der HEX von OSOPT V3.x sieht so aus:
:20010000FA00F685FA000401FA000801FA00AA1EFA001001FA001401FA001801FA001C0162
und müsste dann folgenderma�en geänder werden:
:20010000FA01CDABFA000401FA000801FA00AA1EFA001001FA001401FA001801FA001C0162
Die Prüfsumme am Ende jeder HEX-Zeile mu� nicht geändert werden,
da diese von meinem Download-Tool nicht geprüft wird.

Wichtig ist, daÃ? sich an dieser Stelle wirklich eine Routine befindet, da
es sonst einen Fehler gibt, wenn ein CAN-Interrupt erfolgt.
Also am besten zuerst die eigene Routine laden, bevor Du das gepatchte OS lädst.

MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Interrupt, CAN (von Eltman - 10.10.2005 17:26)