FB_LPC922 Linker Error

Fragen und Diskussionen zur Entwicklung von neuen Geräten. Sowohl Hardware als auch Software. English is welcome.
Antworten
StefanSverige
Beiträge: 163
Registriert: 15. Feb 2014, 13:32

FB_LPC922 Linker Error

Beitrag von StefanSverige »

Hallo,

nachdem ich schon länger keine Firmware mehr selber kompiliert habe, habe ich jetzt Probleme die Buildumgebung neu aufzusetzen. Nach der Anleitung habe ich Eclipse (32bit Kepler), SDCC 3.1 inkl. Plugin aufgesetzt. Das Problem mit der sh.exe habe ich durch Umstellen auf den internen Builder auch gelöst.

Wenn ich jetzt versuche z.B. das Meldetableau24 zu kompilieren, bekomme ich "Aslink-Error-Bad offset in library file ...\Releases/fb_lpc922_1.4x.lib(fb_lpc922)". Kann das an irgendwelchen Debug Einstellungen liegen?

Zum testen habe ich die lpc922_mini Library kompiliert, ein Bin-Vergleich mit der mini 1.4 unter Releases bestätigt das es geklappt hat. Beim Versuch die fb_lpc922 selber zu kompilieren bekomme ich zwar nur noch die Warnung
?ASlink-Warning-Undefined Global '_read_obj_value' referenced by module 'fb_lpc922'

?ASlink-Warning-Undefined Global '_read_value_req' referenced by module 'fb_lpc922'

?ASlink-Warning-Undefined Global '_write_value_req' referenced by module 'fb_lpc922'

Leider scheint da auch etwas nicht zu funktionieren, es wird keine .lib erzeugt. Hat einer eine Idee was da schief geht?


Gruß
Stefan
StefanT
Beiträge: 268
Registriert: 17. Mai 2013, 08:18
Wohnort: Salzburg

Re: FB_LPC922 Linker Error

Beitrag von StefanT »

Ich habe das Meldetableau Projekt etwas angepasst.

Du musst das Library Projekt (aus software/lib_lpc922) im gleichen Eclipse Workspace geöffnet haben, dann sollte es etwas besser funktionieren.
StefanSverige
Beiträge: 163
Registriert: 15. Feb 2014, 13:32

Re: FB_LPC922 Linker Error

Beitrag von StefanSverige »

Hallo Stefan,

deine Änderungen kann ich soweit nachvollziehen. Jetzt findet er die Library ohne das ich verher die Pfade anpassen muss. Leider ist der Fehler immer noch der Gleiche, der Linker läuft nicht durch. Als Lib habe ich die aktuelle Version aus dem Softwareverzeichnis genommen. Kann das eventuell auch an Win7 64bit liegen? Oder sollte ich doch den SDCC 3.3 64bit anstatt des 3.1 nehmen?

/Stefan

Hier die Ausgabe:

23:03:28 **** Rebuild of configuration Release for project Meldetableau24 ****
Info: Internal Builder is used for build
sdcc -c --stack-auto --debug "-IC:\\_DATA_\\_selfbus_\\software\\lib_lpc922\\Releases" --model-small -ofb_app_meldetableau24.rel "..\\fb_app_meldetableau24.c"
sdcc -c --stack-auto --debug "-IC:\\_DATA_\\_selfbus_\\software\\lib_lpc922\\Releases" --model-small -omeldetableau24.rel "..\\meldetableau24.c"
sdcc --stack-auto --debug "-LC:\\_DATA_\\_selfbus_\\software\\lib_lpc922\\Releases" -o Meldetableau24.hex meldetableau24.rel fb_app_meldetableau24.rel -lfb_lpc922_1.4x.lib
?ASlink-Error-Bad offset in library file C:\_DATA_\_selfbus_\software\lib_lpc922\Releases/fb_lpc922_1.4x.lib(fb_lpc922)

23:03:28 Build Finished (took 749ms)
StefanT
Beiträge: 268
Registriert: 17. Mai 2013, 08:18
Wohnort: Salzburg

Re: FB_LPC922 Linker Error

Beitrag von StefanT »

Hmm, bei mir funktioniert es so, mit dem SDCC 3.1.0

Ich verwende Linux, ob's für Windows noch irgendetwas zu beachten
gibt kann ich dir leider nicht sagen.

Aber du kannst natürlich den anderen SDCC ausprobieren um zu sehen
ob das etwas hilft.
StefanSverige
Beiträge: 163
Registriert: 15. Feb 2014, 13:32

Re: FB_LPC922 Linker Error

Beitrag von StefanSverige »

Leider klappt das linken immer noch nicht, egal welches Projekt ich versuche. Der Linker bricht immer mit "bad offset in library" ab. Mir ist aufgefallen das die alte Lib bei freebus noch wesentlich kleiner war (ca. 35k) als die neuen Versionen. Mit der alten Lib habe ich solche Linkerprobleme nicht gehabt. Sind für die neue Lib eventuell andere Linker Optionen nötig? Woran kann es liegt es das die neue Lib 4mal größer ist als die alte Version?

Bei dem Import der Lib922 in Eclipse heißt das Projekt RS232_lib und kollidiert mit der eigentlichen RS232_lib, ist hier eventuell etwas durcheinander geraten?

Unter Linux (Ubuntu 64bit) findet Eclipse das SDCC plugin nicht, dafür habe ich bis jetzt noch eine Lösung gefunden.

Gruß
Stefan
oldcoolman
Beiträge: 645
Registriert: 17. Mai 2013, 20:57
Kontaktdaten:

Re: FB_LPC922 Linker Error

Beitrag von oldcoolman »

Wir haben früher die projekt dateien erst gar nicht verwendet.
Neues projekt angelegt.
dann im windoof explorer die source datein in das neue projekt Verzeichnis kopiert.
Die settings dann in eclipse eingestellt (--stack-auto ...)
Dann kompiliert.
liebe Grüße
Andreas
StefanSverige
Beiträge: 163
Registriert: 15. Feb 2014, 13:32

Re: FB_LPC922 Linker Error

Beitrag von StefanSverige »

Hallo Andreas,

habe das gerade ausprobiert, leider genau das gleiche Ergebnis, "bad offset in library file". So langsam fällt mir nichts mehr ein :-(

Gibt es jemanden bei dem das Linken unter Windows 7 Pro 64bit mit dem SDCC 3.1.0 und der aktuell Library funktioniert? Der Testweise installierte SDCC 3.3 übersetzt Sourcen nicht ohne Änderungen (__bit, __asm, usw...).

Ich bin für jeden Hinweis dankbar!

Gruß
Stefan
StefanSverige
Beiträge: 163
Registriert: 15. Feb 2014, 13:32

Re: FB_LPC922 Linker Error

Beitrag von StefanSverige »

Inzwischen läuft die Entwicklungsumgebung unter Linux recht gut. Das Plugin musste nach /usr/share/eclipse/dropins/cdt kopiert werden damit Eclipse 3.8.1 unter Ubuntu es findet. Hier funktioniert das kompilieren und linken ohne Probleme.

Der Linkerfehler unter Windows 7 hat dann wohl etwas mit der Version zu tun, schon komisch.

@Stefan Flasht du den LPC direkt unter Linux?
StefanT
Beiträge: 268
Registriert: 17. Mai 2013, 08:18
Wohnort: Salzburg

Re: FB_LPC922 Linker Error

Beitrag von StefanT »

Ja mit FlashMagic das im Wine läuft. Man muss dazu nur den Com Port richtig anlegen damit Flash Magic ihn verwenden kann.

Kann ich dir im Fall sagen wie das geht, ist nicht schwierig.
StefanSverige
Beiträge: 163
Registriert: 15. Feb 2014, 13:32

Re: FB_LPC922 Linker Error

Beitrag von StefanSverige »

Alles klar, das man FlashMagic mit Wine laufen lassen kann habe ich schon gesehen, dachte es gäbe da ein native tool. Ich nutze jetzt Synergy mit einer Linux und einer Windows Maschine.
Antworten