Hallo. Ich bräuchte bitte mal etwas Unterstützung. Bis jetzt hatte ich immer mit AVR in Bascom oder im AtmelStudio und LPC Controller in MCUXpresso zu tun. Für ein kleines Projekt (Modbus RTU auf TCP Gateway) passt das Wiznet WIZ750SR-RS485 (https://www.wiznet.io/product-item/wiz750sr/) hardwareseitig perfekt und ich müsste nur die Firmware adaptieren. Den Source Code findet man hier https://github.com/Wiznet/WIZ750SR und nach etwas suchen, war mir auch klar, wo ich die Protokollkonvertierung implementiere. Mein Problem besteht darin, dass das Projekt für Keil geschrieben wurde und es zu groß für die freie Version ist. Nun hätte ich versucht es nach Eclipse und GCC zu konvertieren. Jedoch ohne Erfolg. Was ich bis jetzt gemacht habe: Eclipse und JAVA installiert gcc-arm-none-eabi-10.3 heruntergeladen und im Projekt verlinkt GnuWin32 installiert und den Pfad zur make.exe im Projekt eingetragen Alle Dateien vom Source Code ins Projekt kopiert (von ..\Libraries\CMSIS\Device\WIZnet\W7500\Source\ habe ich nur den GCC-Order übernommen) Alle Libs vom Projekt verlinkt Nachdem ich einige Deklarationen der cmsis_gcc.h eingefügt hatte, konnte ich das Projekt kompilieren, jedoch ist die BIN viel zu groß und hat etwa 175kB und selbst mit Optimierung komme ich auf 140kB. Hat jemand einen Tipp für mich, was ich übersehen habe? Das Eclipse Projekt ist im Anhang. Vielen Dank, Christian_RX7
Habe das mal unter Linux mit deiner zip und enthaltenem makefile getestet. Compiler ist 10.3 aus aktueller STM32CubeIDE, Ergebnis siehe Anhang. Probleme gab es nur mit Groß/Kleinschreibung von configdata.h. Habe ich mit 2 Links behoben. in: WIZ750SR_Test/include/Configuration: ln ConfigData.h configdata.h ln ConfigData.h configData.h
Hallo pegel, danke fürs Testen. Auf eine ähnliche Dateigröße komme ich auch, wenn ich es kompiliere. Jedoch ist die originale BIN nur 39kB groß. Selbst mit eingeschalteter Optimierung ist meine Version noch etwa 3x so groß. Flashen geht auch nicht, da gar nicht so viel Speicher zur Verfügung steht. Christian_RX7
Christian K. schrieb: > Auf eine ähnliche Dateigröße komme ich auch Jetzt passt es aber in 128k Flash. Im original git sind es 2 Projekte, App und Boot. Es bedarf vermutlich noch einer anderen Sortierung.
Ein großer Teil der bin besteht aus 0x00. Da ist wohl etwas am Ende, dass nicht an diese Adresse gehört.
Habe jetzt noch herausgefunden, dass ich das gcc_W7500.ld Linker Script nicht eingebunden hatte. Jetzt komme ich mit Optimierung auf 90kB gegenüber der 39kB der Originalversion. Einspielen kann ich die Firmware jetzt (per wizconfig), jedoch läuft sie nicht und es scheint so, als würde er in einer Endlosschleife starten. Mal sehen ob ich meinen LPClink2 zum Debugen verwenden kann.
Hier gibt es ein fertiges Projekt für Eclipse: https://github.com/Wiznet/WIZ750SR_App_Eclipse Leider basierend auf dem alten Bootloader 1.2.x. Wenn ich den alten Bootloader flashe und dann das Projekt, funktioniert alles wie gewünscht. Laut https://docs.wiznet.io/Product/S2E-Module/WIZ750SR/download muss der ISR Vektor geändert (von 0x1FD00 auf 0x7D00) werden, damit das Projekt auch mit dem aktuellen 1.3.x Bootloader läuft. Doch wie und wo? Wenn man im MAP-File (https://github.com/Wiznet/WIZ750SR_App_Eclipse/blob/master/Debug/WIZ750SR_App.map) nach .isr_vector sucht, scheint dieser auf 0x00007000 zu liegen, was überhaupt nicht passt. Kann mir da bitte jemand auf die Sprünge helfen? Danke, Christian
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.