Library von IAR auf Keil portieren

#1216077
Lesenswert?

Hallo zusammen,

ich habe mir diese USB Library mit Beispielen für den CC1111 von Texas 
Instruments runter geladen (http://www.ti.com/litv/zip/swrc088a).
Jetzt habe ich mir ein kleines Beispiel geschrieben, dass erstmal nur 
einen Teststring über USB an den PC gibt. Soweit funktiniert das auch, 
wenn ich den IAR Compiler benutze.
Ich müsste jetzt allerdings den Keil Compiler benutzen und da fangen die 
Probleme an. Ich habe wie bei meinen vorherigen Projekten auch schon 
alle Compiler spezifischen Sachen ersetzt (z. B. __xdata = xdata). Dann 
kamen Fehlermeldungen für die Assembler Files und mit Assembler kenn ich 
mich leider nicht aus. Ich hab versucht das trotzdem hin zu bekommen und 
er compiliert jetzt auch, aber dafür bekomme ich jetzt massenweise 
Linkerfehler. Außerdem glaube ich, dass die Assemberl Files so wie ich 
sie geändert habe nicht stimmen.

Den code habe ich angehängt. Das original Assembler File kommt gleich 
auch noch. Vielleich könnte sich das mal jemand ansehen. Das wäre echt 
klasse.

Vielen Dank schon mal

Sabrina
Angehängte Dateien:
#1219219
Lesenswert?

Im hab's eben nur schnell überflogen, aber ein Teil der Fehler ist 
sofort klar. So hast Du z.B. im Header das hier stehen:

extern const DESC_LUT_INFO xdata pUsbDblbufLut[];

Im ASM File hingegen steht das hier:

RCODE           SEGMENT CODE
                RSEG    RCODE
                .
                .
                .
pUsbDblbufLut:  DW interface0Desc   ; pInterface
                .
                .
                .

Ich muss Dir jetzt sicherlich nicht erklären, dass CODE und xdata nicht 
das selbe sind, oder?  Da ist es doch kein Wunder, dass der Fehler "*** 
ERROR L103: EXTERNAL ATTRIBUT DO NOT MATCH PUBLIC" gemeldet wird.

Der nächste Fehler ist das unresolved external mit 
"utilLeaveCriticalSection". Wenn Du Dir den Fehler mal genauer 
anschaust, wirst Du sehen, dass das Mangling des Compilers zuschlägt. 
Dieser suchst nämlich nach einer Funktion namens 
"_utilLeaveCriticalSection", und das lässt sich einfachst korrigieren. 
Ich habe die geänderte Datei einfach mal angehängt.

Und dann musst Du halt mal schauen, was noch übrig bleibt. :-)
Angehängte Dateien:

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