Re: C2 hängt sich auf - Sorry Kategorie: Programmierung (von André H. - 17.06.2004 22:31) | ||
Als Antwort auf C2 hängt sich auf von Christoph Fuest - 17.06.2004 15:25 | ||
| ||
Hallo Christoph, > Wir haben mal wieder ein Problem: Ein Programm lief vor Kurzem noch einwandfrei. Jetzt haben > wir endlich auf das neue OIS 3.0 umgestellt und dementsprechend auch alle System- und > Benutzermodule sowie die Compiler-DLL geupdatet. > Nachdem wir auch die Hex-Module sys0002.hex, srlcd.hex, i2ccom.hex und ramdev.hex eingeladen > hatten startete das Programm immerhin wieder. Leider bleibt es bei einem Aufruf von srlcd.init() > immernoch gnadenlos hängen. Es liegt offensichtlich auch genau an dem Aufruf. Kann es sein, dass > in dem neusten Service-Pack die Segmentadressen für das Sr-LCD nicht mehr stimmen? Die haben > sich ja seit 4/2003 nicht mehr verändert. Sorry. Im ServicePack 2.1 hat sich leider ein kleiner Fehler eingeschlichen. Die srlcd.hex ist aktuell. Jedoch ist das Modul srlcd.c2 mit der Version 2.0 irgendwie ins SP reingerutscht. Die aktuelle Version von srlcd.c2 ist jedoch V2.01(vom 17.08.03). Lade Dir nochmal srlcd.c2 seperat herunter, dann sollte es funzen. Zwischen diesen beiden Versionen sind die Einsprungadressen unterschiedlich. Darum stürzt das System auch ab. (Die Fehlermeldung wäre über die Host-LED auswertbar) Der Fehler wird mit dem nächsten SP-Update behoben. Diesmal wird es aber nicht über ein halbes Jahr dauern. versprochen. :-) > Ach apropos: Wodurch wird festgelegt, welche Funktion an welche Stelle in das Segment 3 geladen > wird? Es werden keine Funktionen, sondern HEX-Dateien geladen. :-) Die Offsetadressen stehen in der HEX-Datei in jeder Zeile und werden beim Kompilieren durch entsprechende Parameter im ASM-Quellcode festgelegt. Au�erdem steht in jeder HEX(au�er in der Hex des OS) das Zielsegment. > Muss ich die Module in einer bestimmten Reihenfolge einladen, oder wird die Adresse beim > Schreiben automatisch festgelegt? Die Reihenfolge ist egal. Die Zieladressen stehen, wie gesagt, in den HEX-Dateien. > Ach ja: In der srlcd.c2 steht oben: > (Zitat Anfang)-------- > /* Benötigt : srlcd.hex (über DL-Tool laden) */ > /* Seg3 Addr. 0x3D000 - 0x3D0ED (238Byte) */ > (Zitat Ende)----------- > > Was will mir das sagen? Die Adressen bringen mir doch nichts, oder? Ich kann ja nicht so direkt be- > stimmen, wo das Download-Tool (wir verwenden Ihres) das hinlädt... Dies habe ich Anfangs als Info in die Module gesetzt, bevor es die Segment3-Map gab, damit man wusste, welchen Speicherbereich der ASM-Treiber belegt, wenn man z.B. eigene ASM-Routinen schreibt und vermweiden wollte, da� es überschneidungen gibt. Aber, wie gesagt, gibt es hierfür jetzt die Segment3-Map. 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: Ach... äh... und wie wird man Watchdog los? (von Christoph Fuest - 18.06.2004 9:53) Re: Ach... äh... und wie wird man Watchdog los? (von André H. - 18.06.2004 10:37) Re: Ach... äh... und wie wird man Watchdog los? (von Christoph Fuest - 18.06.2004 12:20) Re: Ach... äh... und wie wird man Watchdog los? (von Christoph Fuest - 18.06.2004 11:15) Re: Ach... äh... und wie wird man Watchdog los? (von André H. - 18.06.2004 12:36) Mir ist da gerade was komisches aufgefallen (von Christoph Fuest - 18.06.2004 13:21) Re: Mir ist da gerade was komisches aufgefallen (von André H. - 18.06.2004 13:28) Re: Mir ist da gerade was komisches aufgefallen (von Christoph Fuest - 19.06.2004 15:18) Re: Ach... äh... und wie wird man Watchdog los? (von Christoph Fuest - 18.06.2004 12:55) Noch was (von Christoph Fuest - 18.06.2004 12:01) Re: Noch was (von André H. - 18.06.2004 12:46) Re: Noch was (von Christoph Fuest - 18.06.2004 12:53) Re: Noch was (von André H. - 18.06.2004 13:23) Re: Noch was (von Christoph Fuest - 18.06.2004 12:05) |