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

Re: freier RAM bei CC2 Kategorie: Progr. Assembler, TaskingTools, OS (von Cris, http://www.crisullmann.de - 8.03.2004 7:10)
Als Antwort auf freier RAM bei CC2 von Stephan - 7.03.2004 16:01
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, C-Control II Station, CC2-Application-Board, eigenes Board, OSOPT_V2
Hallo Stephan, Hallo Dominik,

warum wollt Ihr unbedingt die Variablen im Assembler bzw. C vereinbaren? Wenn nichts dagegen
spricht, dann könnt Ihr doch Eure Variablen im CC2-Programm vereinbaren und nur die Adresse
an das Assembler-Programm übergeben. Diese eine Adresse müsst Ihr natürlich im Segment 0
an einem sicheren Platz abspeichern. Hier hilft das dissassemblierte OS von E.Hospel. Am Ende
des Listings ist die Belegung des internen RAM's so weit wie bekannt beschrieben.

Eure Variablen solltet Ihr in Form einer Datenstruktur (type, array oder string) vereinbaren. Dies hat
den Vorteil, da� das CC2 Programm an Funktionen die Speicheradresse übergibt. Auf diese könnt Ihr
im Assemblerprogramm zugreifen.

1. Ã?bergabe an Assembler: schaut Euch die Module zur Steuerung der PS2-Tastatur an. Dort habe
ich das so gemacht.

2. Lesen vom Assembler aus: hier ein Auszug aus meinem Asm-Listing
; Definition OS-Routinen
OS_PUSH_R12       EQU     075D6H     ;speichert R12 auf dem Thread-Stack
OS_POP_R4           EQU     0765AH     ;liest Thread-Stack in R4

Data_init                 Proc far
                              CALLS     OS_POP_R4
                              MOV       R2,#Speicherplatz
                              EXTS       #0,#1
                              MOV       [R2],R4
                              POP        R1
                              POP        R1
                              RETS

Beachtet bitte auch die Speicherstruktur der CC2. Alle Varaiblen werden immer im Segment 8
abgelegt. Das solltet Ihr auch bei den Speicherzugriffen aus Assembler heraus beachten. Im Segment
3  könnt habt Ihr nur einen Konstantenspeicher - da FLASH-Speicher.

Ich hoffe ein wenig geholfen zu haben.

Cris



Meine Seite: http://www.crisullmann.de


    Antwort schreiben


Antworten: