Forum: Mikrocontroller und Digitale Elektronik Unterschied Programmierung PIC18F4550 mit MPLAB8 & MPLABx


von Marten M. (mcgonahy148)


Lesenswert?

Hallo zusammen,

habe aktuell ein Problem beim Programmieren eines PIC18F4550 mit meiner 
MPLABx Umgebung.

Firmware wurde schon erfolgreich mit MPLAB8 und ICD3 auf PIC geflashed 
und funktioniert.

Nun wollte ich das selbe Projekt bzw. FW mit MPLABx und ebenfalls ICD3 
auf den Controller aufspielen. Compilieren, linken, 
programmieren...alles verlief ohne Fehlermeldung!

Trotzdem macht der uC nichts :-( (leicht zu sehen an ein paar LEDs, die 
als Lauflicht an ein paar Ports hängen).

So...wo soll ich hier anfangen zu suchen?

Und bitte keine Antworten nach dem Motto "na dann nimm doch nur die 
MPLAB8 her"...davon will ich eigentlich weg!


Danke euch,
MG

von Frank K. (fchk)


Lesenswert?

Welchen Compiler hast Du bei MPLAB8 verwendet? Den alten C18? Der macht 
einiges anders als der neue XC8.

Ansonsten schau erstmal, was passiert, wenn Du das MPLAB8 hex mit dem 
MPLABX und das MPLABX hex mit MPLAB8 flashst.

fchk

von Mcgonahy (Gast)


Lesenswert?

Frank K. schrieb:
> Welchen Compiler hast Du bei MPLAB8 verwendet? Den alten C18? Der
> macht einiges anders als der neue XC8.
> Ansonsten schau erstmal, was passiert, wenn Du das MPLAB8 hex mit dem
> MPLABX und das MPLABX hex mit MPLAB8 flashst.
>
> fchk


Habe in beiden Fällen den freien C18 verwendet. Was mir aufgefallen ist, 
beim MplabX wird mehr in den Programmspeicher geschrieben wie beim 
Mplab8...

von Frank K. (fchk)


Lesenswert?

Mcgonahy schrieb:
> Frank K. schrieb:
>> Welchen Compiler hast Du bei MPLAB8 verwendet? Den alten C18? Der
>> macht einiges anders als der neue XC8.
>> Ansonsten schau erstmal, was passiert, wenn Du das MPLAB8 hex mit dem
>> MPLABX und das MPLABX hex mit MPLAB8 flashst.
>>
>> fchk
>
>
> Habe in beiden Fällen den freien C18 verwendet.

Identische(!) Compiler- und Linker-Version?
Identische(!) Header?
Identische(!) Compiler- und Linkeroptionen?

Wenn alles drei identisch ist, muss auch ein identisches HEX 
herauskommen.

> Was mir aufgefallen ist,
> beim MplabX wird mehr in den Programmspeicher geschrieben wie beim
> Mplab8...

Dann ist eben irgend etwas nicht identisch. Gehe den Unterschied suchen!

von Marten M. (mcgonahy148)


Lesenswert?

Hallo,

also Compiler, Linker, HExFileConverter sind jeweils genau die selben 
Versionen. Die Optionen, soweit ich das sehen...auch...

Siehe:

"C:\Program Files\Microchip\mplabc18\v3.40\bin\mcc18.exe" -p=18F4550 
/i"." -I"C:\Microchip Solutions v2010-10-19\Microchip\Include" "SPI.C" 
-fo="C:\Temp\SPI.o" -ms -oa- -o- -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-

"C:\Program Files\Microchip\mplabc18\v3.40\bin\mcc18.exe"  -p18F4550 
-I".." -I"../../../../../Microchip Solutions 
v2010-10-19/Microchip/Include" -I"." -ms -oa- -o- -Ou- -Ot- -Ob- -Op- 
-Or- -Od- -Opa-  -I "C:\Program 
Files\Microchip\mplabc18\v3.40\bin"\\..\\h  -fo 
build/default/production/_ext/1472/SPI.o   ../SPI.c

Config-Bits werden ja in MPLAB8 über den Code gesetzt, dafür gibt es 
einen extra Haken.

Config-Bits in MPLABx kann ich zwar in Software anzeigen, aber ich finde 
keinen Haken, dass die Bits nur über den Code gesetzt werden.

OutputHexfiles sind definitiv unterschiedlich, die von MPLABx ist auch 
länger.

Kann doch irgendwie nicht sein, bei selben Compiler/Linker und 
Einstellungen, dass hier ein unterschiedlicher Code raus kommt?! :-s

Hexfile von MPLAB8 mit MPLABx brennen funktioniert, Hexfile von MPLABx 
mit MPlab8 läuft nicht.


Gruß,
Markus

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.