Library von IAR auf Keil portieren

OP #1216077
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
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.