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
Kann mir denn wirklich keiner helfen? Nichtmal mit den Assembler Dateien?
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. :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.