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 ?
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.
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.
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).
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??
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.
Handelt es sich bei deiner Hardware zufällig um den "Netzer" aus der Elektor?
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).
Und der Quellcode ist auch exakt gleich? Ist eure HardwareProfile.h gleich? Config-Bits gleich? (Configure->Configuration Bits...) Compiler-Optionen? (Project->Build Options...->Project)
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
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 ...
@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.
Ich habe das selbe Problem. Hast du mittlerweile eine Lösung gefunden?
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.