mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Library von IAR auf Keil portieren


Autor: Sabrina K. (sparklingdragon)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Sabrina K. (sparklingdragon)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So, hier ist das Assembler File.

Autor: Sabrina K. (sparklingdragon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir denn wirklich keiner helfen?
Nichtmal mit den Assembler Dateien?

Autor: René König (king)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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. :-)

Autor: Sabrina K. (sparklingdragon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, danke, das hilft mir sicher weiter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.