Forum: Mikrocontroller und Digitale Elektronik Compiler Problem PIC TCP/IP Stack


von TheMason (Gast)


Lesenswert?

Hallo Leute,

ich habe ein Problem bei dem ich nicht so recht weiterkomme.
Ich arbeite in der Firma mit dem PIC18F67J60, dem TCP/IP Stack von 
Microchip und eben MPLAB C18 V3.31 und MPLAB IDE V8.30.

Ein Kollege hat den TCP/IP Stack sauber am laufen. Schickt er mir das 
HEX-File, und ich brenne es in den PIC alles wunderbar. Stack läuft und 
lässt sich per Webinterface konfigurieren.
Wenn ich aber nun seinen Quellcode nehme und builde dann bekomme ich ein 
unterschiedliches Hex-File (Größe, Inhalt). Wir verwenden aber beide 
diesselbe Umgebung (MPLAB C18 C3.31 und MPLAB IDE V8.30). Egal was ich 
mache, ich bekomme nie dasselbe Hex-File (meines funktioniert auch zudem 
nicht). Gibt es irgendwelche Einstellungen außer den Pfaden und die 
Projekteinstellungen (wobei die allein dadurch schon gleich sein sollten 
weil ich seinen Code inkl MCW und MCP, also seinen gesamtem SW Ordner 
1:1 verwende) sonst noch Einstellungen die gesetzt werden müssen/können 
bzw Probleme machen können ?
Den Code hier zu posten bringt nichts, da er sich ja bei meinem Kollegen 
compilieren lässt und lauffähig ist, bei mir aber eben kein lauffähiger 
Code herauskommt bzw kein lauffähiges HEX File.
Hat jmd vllt ne Idee ob man in der IDE noch was Einstellen muß bzw kann 
was zu Problemen führt wenn ein und derselbe Code auf zwei 
unterschiedlichen Rechnern gebuildet wird ?

von heinzhorst (Gast)


Lesenswert?

Habt Ihr die selbe Version der Microchip Application Libraries? Schon 
mal mit Debugger und single Step oder Breakpoints versucht? Dann 
könntest Du das Problem vielleicht etwas genauer einkreisen und 
herausfinden, an welcher Stelle sich dein Controller aufhängt.

von TheMason (Gast)


Lesenswert?

Ich bin leider noch nicht so tief in der PIC-Toolchain drin. Ich 
versuche gerad erstmal die IDE upzudaten. Vllt das da an den C18 noch 
was falsches übergeben wird.
Debugging wär vllt mal ne Lösung. Werd ich gleich mal ausprobieren. 
Danke schonmal für den Hinweis.

von TheMason (Gast)


Lesenswert?

Eine Neuinstallation hat leider keinen Erfolg gebracht. Na ja. 
Wenigstens habe ich nun die aktuellste Version der MPLAB IDE.
Das Problem beim Debugger ist das sobald ich auf Debugging stelle und 
der die neue Firmware in den PICkit2 reinschmeißt, diese sofort sagt das 
Vdd außerhalb der erlaubten Spannung ist (die Platine wird über POE 
versorgt).

von heinzhorst (Gast)


Lesenswert?

Das sagt dein Pickit nicht ohne Grund. Hast du mal gemessen, was aus 
deinem POE-Netzteil rauskommt und welche Spannung an den Versorgungspins 
des Controllers anliegt??

von TheMason (Gast)


Lesenswert?

Noch nicht. Allerdings kann es damit ja eig. nichts zu tun haben, denn 
wenn ich die HEX Datei des Kollegen mit derselben Hardware brenne 
funktioniert die Schaltung ja ordnungsgemäß. Compilier ich das selbst 
läuft es nicht. Wir sind auch alle Projekteinstellungen nochmal 
durchgegangen. Einfach nichts zu machen. Weiß da gerade leider nicht 
weiter.

von heinzhorst (Gast)


Lesenswert?

Handelt es sich bei deiner Hardware zufällig um den "Netzer" aus der 
Elektor?

von TheMason (Gast)


Lesenswert?

Ne. Ist eine eigene (vom Kollegen entwickelte Hardware). Auch die 
Software ist noch (soweit ich es überblicken kann) weitestgehend an den 
TCP/IP-Stack von MicroChip angelehnt.
Was mich schon stuzig macht ist das die beiden HEX Dateien (einmal die 
funktionierende vom Kollegen und die die ich hier am Rechner compilieren 
kann) völlig unterschiedlich sind (Größe und Inhalt), obwohl die 
Projekt-Optionen gleich sind. Wir benutzen auch die gleiche 
Compilerversion (3.31.70). Also an der Hardware kann es nicht liegen das 
die HEX-Files derart unterschiedlich sind (wobei das im Prinzip ja auch 
nichts heißen müsste, aber es ist schon sehr merkwürdig).

von heinzhorst (Gast)


Lesenswert?

Und der Quellcode ist auch exakt gleich?
Ist eure HardwareProfile.h gleich?

Config-Bits gleich?
(Configure->Configuration Bits...)

Compiler-Optionen?
(Project->Build Options...->Project)

von Rene B. (themason) Benutzerseite


Lesenswert?

Der Quellcode ist bis aufs Jota gleich. Die Projektoptionen sind (bis 
auf die Pfade für die Include Search/Linker Scripte/usw. da das eine OS 
XP, und das andere Win7 ist, hoffe mal nicht das da der Hund begraben 
liegt :-S). Config Bits müsste ich nochmal prüfen, obwohl ich meine das 
die im Quellcode gesetzt werden (#pragma), wenn ich das richtig 
verstanden hab (steh erst am Anfang in der PIC-Welt, will mich aber auch 
privat in die Dinger einarbeiten).
Von daher etwas ratlosigkeit. Einziger erkennbarer Unterschied ist XP 
und Win7 aber wenns das ist ... :-S

von Lehrmann M. (ubimbo)


Lesenswert?

1. Configbits
2. Hardwareproblem ?!
3. Hat dein Kollege vielleich die C18 Vollversion und du nur eine 
Light-Version ? Das hätte 'nur' Einfluss auf div. Optimierungen ...

von Rene B. (themason) Benutzerseite


Lesenswert?

@michael

Wie schon oben geschrieben. Hardware exakt diesselbe. Software exakt 
diesselbe nur die HEX-Files sind unterschiedlich.
Die Config-Bits werden via #pragma gesetzt. Also auch da kein 
Unterschied. Mein Kollege hat auch nicht die Vollversion. Mit den 
optimierungen hab ich mir auch gedacht. Aber selbst wenn ich diese 
ausschalte sind die Hex-Files unterschiedlich.

von Matthias (Gast)


Lesenswert?

Ich habe das selbe Problem. Hast du mittlerweile eine Lösung gefunden?

von Matthias (Gast)


Lesenswert?

Mit der alten PIC18F67J60.h klappt es!

Grüße,

Matthias

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.