Forum: Mikrocontroller und Digitale Elektronik WIZ750SR von Keil nach Eclipse


von Christian K. (christian_rx7) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von pegel (Gast)


Angehängte Dateien:

Lesenswert?

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

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

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

von pegel (Gast)


Lesenswert?

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.

von pegel (Gast)


Lesenswert?

Ein großer Teil der bin besteht aus 0x00.
Da ist wohl etwas am Ende, dass nicht an diese Adresse gehört.

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

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.

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.