Salut Bruno,
der Pinguino PCB des PIC32MX250 ist meinem ähnlich, aber ich habe eine Reihe an Kleinigkeiten, welche ich anders machen will. Prinzipiell kann man gerne den Pinguino Bausatz verwenden, er stellt effektiv einen Prozessor Breakout dar.
Wovon ich nach drei leidvollen Wochen nur abraten kann ist die Pinguino IDE:
- Es gibt derzeit eine Version 11.x, welche aber in der ausgelieferten Version nicht die 32-bit Prozessoren unterstützt. Es braucht eine Reihe an Anläufen um den 32-bit compiler nachzuinstallieren. Funktionieren wird es aber nur mit der Version 10.4 und einigen Backports von 11.x
- Es handelt sich um einen reinen C-Compiler: also keine der Arduino Libraries kann übernommen werden, man beginnt fast bei Kerninghan-Ritche. Ich habe mit viel Aufwand ein SSD1306 Display zum Laufen gebracht, was ich aber keinem empfehlen kann
- Bibliotheken werden direkt bei den Originalbibliotheken eingebaut, eine Trennung der eigenen Libs von den Standardlibs ist nicht wie bei Arduino/ChipKit realisiert. Ich habe versucht, den SSD1306 code in eine Lib zu konvertieren und bin schier verzweifelt. Letztlich habe ich dann aufgegeben.
Mit ChipKit gibt es eine weitaus interessantere Alternative und ich verwende den bootloader von ChipKit. Damit habe ich auch meinen Pinguino Bausatz geflasht, der jetzt auch wieder verwendbar ist. ChipKit hat den expliziten Ansatz, dass Arduino Code mit minimalen Änderungen nutzbar ist, UECIDE folgt diesem Ansatz, die UTFT ist ein schönes Beispiel für eine Library, welche auf beiden Prozessoren läuft.
Ich verwende einen 8MHz Oszillator, da die PIC32 Prozessoren dies intern auf 40 MHz hoch takten. Eigentlich braucht man gar kein Quarz, da der Prozessor einen internen 8MHz Oszillator hat, der aber nicht so stabil läuft wie ein Quarz. Der Chip läuft also mit externem 8MHz Quarz auf 40 MHz. Laut Datenblatt kann der Quarz zwischen 3 und 10 MHz haben. Ich wollte kompatibel mit dem ChipKit DP32 bleiben. Sobald das Board fertig ist, werde den PIC32MX270 testen, aber ich gehe davon aus, dass ich den bootloader neu compilen muss, was für mich Neuland ist.
Wenn man mehr als 40 MHz braucht, dann kann man auf den ChipKit Uno32 wechseln, der mit 80 MHz läuft, wenn es auch noch mehr als die 128 kB braucht, dann nimmt man den ChipKit Max32 mit 80MHz und 512 kB (PIC32MX795F512L).
Zusammengefasst: Pinguino ist für mich nicht brauchbar, da der Compiler ein Graus ist. ChipKit ist für jemand mit Arduino Hintergrund sehr gut, da der Code fast nicht angepasst werden muss, mit UECIDE muss ich noch nicht einmal den Sourcecode hin- und her kopieren. Den Pinguino-Bausatz kann man in einen ChipKit verwandeln. Der PIC32MX250 läuft mit 8MHZ Quarz auf 40 MHz.
Ciao, Mathias