Re: Interrupt Kategorie: Programmierung (von André H. - 17.04.2004 14:19) | ||
Als Antwort auf Re: Interrupt von thomas - 12.04.2004 23:13 | ||
| ||
Hallo Thomas, > 1.) > Es fehlt das Beispiel für die �bergabe von mehreren Variablen. > > 2) > Es fehlt ein Hinweis darauf, welche Register verwendet werden dürfen und > welche Register von den Routinen "POP_R4" und "PUSH_R12" verändert werden. Ich werde einmal, wenn ich wieder etwas mehr Zeit hab', versuchen etwas für den ASM-Bereich zusammenzustellen, damit jeder in den Genu� der einfachen Parameterübergabe kommt. :-) Im Prinzip ist die Parameterübergabe sehr einfach. Die verwendeten Register bei Aufrufen von Systemroutinen mu� man Anfangs etwas mühsam aus dem Listing des Disasm.OS herauslesen. Bei den Push und Pop-Routinen für Integer und Long stehen diese, wie Du es schon gefunden hast, z.B. in sys0001.asm. > Ein Beispiel dass mich auch getroffen (und leicht genervt) hat, ist das Thema > des richtigen OS und der notwendigen Module. In einem Thread das dieses Thema > betraf, wurde lapidar sinngemä� der Hinweis gegeben: > "Schmei� alle orignalen Module weg und verwende nur die Neuen aus diesem Forum." Im Prinzip ist es sehr einfach: Nachdem die IDE installiert ist, sollte man das aktuelle Service-Pack installieren. Die alten Module darf man vorher nicht löschen. Man mu� beim entpacken des SP nur bestätigen alle alten Dateien zu überschreiben. Ich hatte nie geschrieben, da� man die alten Module einfach löschen soll. Auch beim Service-Pack2 hei�t es, da� man dieses einfach in das Verzeichnis der IDE entpacken soll. Anschlie�end sollten noch alle Module, welche nach dem letztem Service-Pack erschienen sind, aktualisiert werden. Welche Module neuer als das letzte SP sind, findet man sehr einfach über die News auf der Hauptseite von CC2Net.de heraus. Gut, seit dem SP2.0 gab es schon einige neue Modulversionen, und leider bin ich noch nicht dazugekommen das SP upzudaten. Dies werde ich jedoch machen sobald noch ein paar weitere (wichtige) Module upgedatet sind.(z.B. mem.c2, str.c2, strx.c2 bekommen ein paar ASM-Treiber. Auch wird es ein Modul flash.c2 als kleine �beraschung geben. :-) ) Leider komme ich vor lauter Arbeit nicht zügig voran, da mir die Arbeit schon seit längerem etwas über den Kopf wächst, und ich daher Prioritäten setzen mu�. (selbst das Schlie�en von CCTools für zwei Wochen hat mir nicht die nötige Zeit gebracht, :-( da ich in dieser Zeit mit einem grö�erem externen Projekt beschäftigt war. Als Ein-Mann-Betrieb habe ich es z.Zt. nicht leicht mit der Arbeit (CC2Net.de, CCTools & externe Projekte) nachzukommen. :-( ) > Eine Liste der zu einer OS-Version gehörenden Module (incl. Versionsstand) und > die zugehörigen "modules.txt"-Dateien wirken da wahre Wunder. Au�erdem ein Hinweis > auf die notwendige Reihenfolge der "Init"-Funktionen einzelner Module wäre > hilfreich. Dann mu� nicht jeder die Module nach den Abhängigkeiten durchforsten. Also, die Module sind i.d.R. unabhängig vom verwendeten OS. Man kann alle Module auch mit allen OS-Versionen verwenden, sofern nichts anderes im Modul-Header steht. Bei den Modulen, welche sys0001.hex und capture.hex nutzen, gibt es durch Auskommentieren von Konstanten die Auswahlmöglichkeit für OSOPT V3.x, in welchem sys0001.hex und capture.hex implementiert sind und nicht extra geladen werden müssen, und den hex-Dateien in Segment 3, welche bis OSOPT_V2 extra geladen werden müssen. Davon betroffen sind die Module i2c.c2, cap.c2, lcdext.c2 und stports.c2. Prinzipiell sollte auch die aktuellste Version OSOPT V3.0 benutzt werden. OSOPT_V2 sollte man nurnoch verwenden, wenn man die Systemausgaben auf dem Mini-LCD der "alten" CC2 Unit benötigt bzw. haben will. Bei dern neuen CC2 NV und bei der Station II kann ich nur empfehlen OSOPT V3.0 empfehlen. Die Liste der aktuellen Module befindet sich unter Module & Funktionen. Hier steht auch immer die Versionsnummer und bei der Detailansicht auch das Release-Datum dabei. Grundsätzlich sollten immer die neuesten Modul-Versionen benutzt werden, egal mit welchem OS man arbeitet. Ein zweigleisiges Fahren mit Modulen will ich vermeiden. Ich habe vor, nachdem ich es hoffentlich diesen Monat noch schaffe das SP2.1 zusammenzustellen, ein eigenes Setup für die IDE zusammenzustellen, inwelchem der letzte Modul/Datei-Stand implementiert ist. So würde das bis jetzt anfängliche Updaten wegfallen. Ich mu� hierfür nurnoch das rechtliche klären, damit ich nicht seitens Conrad etwas auf die Finger bekomme. :-) > Ansonsten finde ich aber die Unterstützung der Anwender der C-Controll-II durch > dieses Forums richtig gut; und hoffe es bleibt auch so. Ich habe nicht vor CC2Net.de aufzugeben. :-) 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: |