MPLAB Problem

Gast #1847963
Lesenswert?

Ich habe ein PICF24-projekt übernommen.
MPLAB installiert, neuster Compiler. Projekt eingefügt. Den PIC neu 
geflasht. Alles hat super funktioniert.
Ich habe ein bisschen an den Configs für den Clock rumgespielt. Und 
irgendwann hat der PIC merkwürdig rumgesponnen.
Also wieder die orginale unveränderte Firmware drauf und er spinnt 
immernoch rum.

Nun habe ich den PC, von dem ich das Projekt übernommen habe mal 
angeworfen und den PIC von da aus geflasht. Und siehe da, alles 
funktioniert. Ich habe mir das Projekt von dem PC nochmal auf meinen 
kopiert. Geht nicht.

Nun meine große Frage, woran kann es liegen, dass es von meinem PC aus 
nicht mehr geht (es ging ja am Anfang). Was kann ich übersehen haben? 
Gibt’s irgendwelche MPLAB-Einstellungen, die ich vergessen haben könnte?

Gruß
Klaus
Gast #1847972
Lesenswert?

Vielleicht stimmt Deine Fuse-Konfiguration im Code auch nicht. Schalte 
mal die Übernahme der Fuses aus dem Code ab. Vielleicht ist dies bei 
MPLAB des original Computers abgeschaltet. Und der Vorgänger hat die 
Fuses nur ein einziges Mal händisch eingestellt.
Gast #1847974
Lesenswert?

Danke für die shcnelle Antwort. Was meinst du mit "Linker-File?" Also 
der Pfad ist richtig gesetzt. Programmieren haut hin.

Ich bin noch am einarbeiten in die Materie. Ich werd mich mal über 
Fuse-Konfiguration belesen.
Gast #1847984
Lesenswert?

Ach damit sind die configuration bits gemeint. Die sind im Quellcode 
gesetzt.


// Setup configuration bits
_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & 
ICS_PGx2 )
_CONFIG2( FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMOD_XT & FNOSC_PRI & 
IOL1WAY_ON)

Diese hatte ich für einen Versuch geändert.

_CONFIG2( FCKSM_CSDCMD & OSCIOFNC_ON & POSCMOD_NONE & FNOSC_FRC & 
IOL1WAY_ON )

aber wie gesagt, die orginale Firmware wieder drauf zu spielen, bzw. die 
Änderung rückgängig machen, bewirkte leider nich.
Gast #1847999
Lesenswert?

Versuche die Einstellung zu finden, dass beim Programmieren nur geflasht 
wird und die Conf-Bits nicht mit geschrieben werden. Leider hab ich hier 
kein MPLab installiert, deshalb kann ich hier nicht nachsehen, wo die 
Einstellung abgeschaltet wird. Vergleiche die Einstellungen mit denen 
bei dem Original-Computer. Das Linker-File wird es nicht sein.
Gast #1848030
Lesenswert?

Ist bei
Programmer -> Setting (ICD 3 Settings) -> Manually select memories and 
ranges -> Häkchen bei "Configuration" rausgemacht. Häkchen bei "Program" 
drin gelassen.

Hatte vorher die "gute Firmware" drauf. Hat leider nix gebracht, im 
Gegenteil, am UART kam jetzt nur absoluter Mist raus. Übrigens ähnlich 
dem, was raus kam, als ich die Configuration-Bits auf den internen Clock 
umgestellt hatte. Quasi, als ich direkt an der Config rumgespielt habe.
Vielleicht besteht da ein Zusammenhang?

Die ICD3 Settings habe ich auf beiden PCs schon verglichen. Sind gleich.

Im übrigen ist die Compiler-Version 3.22 auf dem Orginal-PC. MPLAB ist 
8.40
Bei mir ist Compiler 3.24 und MPLAB 8.56

Könnte es daran liegen?
Gast #1848052
Lesenswert?

Hm... Da stimmt wohl was mit der Clock nicht. Also es scheinen schon die 
Conf-Bits (Fuses) zu sein. Kannst Du mit dem Oszi die Baudrate messen? 
Oder mal mit dem Original-Computer alles Flashen und dann mal die Fuses 
mit dem neuen System nur einlesen. Ich weiß da leider jetzt auch nicht 
weiter.


Ich kann später auf der Arbeit mal schauen, dort hab ich das MPLAB auf 
dem Computer.

Gruß,
Harald
Gast #1848069
Lesenswert?

Ich danke dir trotzdem schon vielmals für deine Bemühungen Harald.

Ich habe bereits eine PWM gemessen. Er gibt manchmal am UART den 
Startstring normal aus. PWM geht allerdings quasi nur noch im 
mehrere-sekundentakt und die nächste UART ausgabe, die eigentlich nach 
20 sekunden kommen soll, kommt minuten später. Allerdings kommt sie dann 
als lesbare Zeichen. Was ja bedeutet, dass der Clock für die 
UART-Ausgabe richtig läuft. nur für alles andere nicht. und das nur an 
meim PC.

Zum verzweifeln.

Ich werd das mit den Fuses einlesen mal angehn.
#1848183
Lesenswert?

Hi,

wie sieht des denn aus wenn du auf beiden rechnern die Version 8.40 
installierst? Und ist vielleichte ein Rechner mit XP der andere mit 
Win7? Hört sich für mich nach einem Treiberproblem an. Bei mir spinnt je 
nach Version vom Treiber das ICD2, es schaltet sich einfach aus, aus und 
wieder einstecken behebt das Problem.
Die HW und das ICD3 kann man ja ausschließen da es ja am "alten" PC bei 
dir funktioniert.

Gruß Simon
Gast #1848315
Lesenswert?

ok. version 8.40 geht mit Windows7 64bit nicht.
nun hab ich Version 8.36 und compiler 3.22 drauf und es funktioniert!

Ich weiß jetzt nicht, ob's am Compiler oder an der IDE gelegen hat. So 
funktioniert's auf jeden Fall.

Danke für die Hilfe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren