Hallo,
ich mache meine ersten Versuche mit einem dsPIC33FJ16GS502. Compiler ist
der C30 unter MPLAB bzw. MPLABX. Neuste Versionen. Die
Configurationsbits stehen im Code in etwa so:
1 | #include "p33FJ16GS502.h"
|
2 |
|
3 | _FOSCSEL(FNOSC_FRCPLL);
|
4 | _FOSC(FCKSM_CSECMD & OSCIOFNC_OFF);
|
5 | _FWDT(FWDTEN_OFF);
|
6 | _FPOR(FPWRT_PWR128);
|
Das Übersetzen meines Testprogrammes funktioniert. Wenn ich dann das
ganze mit dem ICD3 debugge, muss ich feststellen, dass die
Konfigurationsbits nicht geschrieben werden. Nach endlosen Versuchen und
googeln habe ich es jetzt unter MPLAB geschafft, und zwar so, dass ich
zuerst über Debuggen->Programmieren den dsPic flashe und dann erst
debugge. Da bleiben dann die Configurationsbits erhalten. Ändere ich in
diesem Zustand was am Code, übersetze und starte den Debugger, dann
überträgt er den neuen Code aber nicht die eventuell geänderten
Configurationsbits. Das ist zwar irgenwie nicht logisch aber man kann
damit leben. Die selbe Verfahrensweise unter MPLABX geht nicht. Dort
kriege ich es unter keinen Umständen hin, dass die Bits richtig gesetzt
werden. Mache ich hier was falsch oder verstehe die Vorgehensweise
nicht? Am Code kann es ja nicht liegen, da es unter MPLAB geht wenn man
sich nicht darauf verlässt, dass beim Starten des Debuggers neben dem
Code auch diese Bits geflasht werden. Oder habe ich mit dem ICD3 in
Verbindung mit MPLABX wieder Bananen gekauft die erst beim Kunden reifen
müssen?
Auf meinem Notebook unter W7 64bit und MPLABX wird zwar das ICD3 erkannt
und angesprochen, kriegt aber keine Kommunikation mit dem Chip hin. So
als ob die 3.3V mit dem der Chip vom ICD3 versorgt werden soll, nicht
ankommen. Zu messen hatte ich geraden nichts da. Selbe Konstellation
unter MPLAB geht aber.
Irgendwie ganz schön frustrierend. Geht das nur mir so?