Hallo Leute, Wollte mal mit den PIC32 Controllern anfangen. wenn ich das richtig verstanden habe, muss ich um in C Programmieren zu können den C32 Compiler downloaden. Gibt es da auch noch alternativen, weil ich mich nicht registrieren will. Wenn die Registrierung unbedenklich ist, dann regestriere ich mich und kann dann einfach die "60 Tage full, danach ohne Optimierung"-Version benutzen, kostenlos? Weitere Frage: was wäre ein billiger Programmieradapter. Habe mir den mal angeschaut: http://olimex.com/dev/pic-icd2-pocket.html Ist der für PIC32s geeignet? wenn nein welcher Programmmer ist gut und günstig? Danke, M.H.
M. H. schrieb: > Gibt es da auch noch alternativen, > weil ich mich nicht registrieren will gcc. zuiop
Das musst du für mich genauer definieren. Kann man den in MPLAB integrieren? Wenn nein, wie kann ich damit programmieren und mit welchem Programmer? Nochmal: Wenn die C32 Version i.O. ist dann nehm ich die. Hab aber keine Lust dass ich da noch was zahlen muss
wenn du MPLABX runterlädst, kannst du angeben, welche compiler du mithaben willst (die werden dann gleich in MPLAB integriert und alles kostenlos). dabei musst du nix angeben/registrieren. MPLABX läuft auch auf Linux und Apfel. ich würde dir zu einem PICKit3 (langsam für 32bitter) raten oder besser (wegen geschwingikeit) zu einem ICD3 (bitte beim PicKit3 unterstützte PICs selber überprüfen). Mit diesen kannst du brennen und debuggen. http://www.microchip.com/ICD3 http://www.microchip.com/PICKit3 http://www.microchip.com/MPLABX ps: die meisten arbeiten mit den kostenlosen C-compiler von Microchip, von daher, empfehle ich dir auch zu diesen weil du dann schneller hilfe bekommst.
Welcher ist der Kostenlose?? Habe jetzt mal mplabx mit c32 comp. runtergeladen. Habe festgestell, dass der jetzt auch im normalen mplab drin ist. hab einfach mal die eval vesion ausgewählt (richtig so?) rein theoretisch kann man doch über dieseSeite die Registrierung umgehen, oder?
M. H. schrieb: > Wollte mal mit den PIC32 Controllern anfangen. > > wenn ich das richtig verstanden habe, muss ich um in C Programmieren zu > können den C32 Compiler downloaden. Gibt es da auch noch alternativen, > weil ich mich nicht registrieren will. Wenn die Registrierung > unbedenklich ist, dann regestriere ich mich und kann dann einfach die > "60 Tage full, danach ohne Optimierung"-Version benutzen, kostenlos? Die Registrierung ist unbedenklich. Nimm den C32, dann passt alles zusammen. > Weitere Frage: was wäre ein billiger Programmieradapter. Habe mir den > mal angeschaut: > http://olimex.com/dev/pic-icd2-pocket.html > Ist der für PIC32s geeignet? nein. Du brauchst entweder ein PICKit3 oder einen ICD3 oder einen 1:1 Clone von einem von beiden. fchk
M. H. schrieb: > Welcher ist der Kostenlose?? Habe jetzt mal mplabx mit c32 comp. > runtergeladen. Habe festgestell, dass der jetzt auch im normalen mplab > drin ist. Normal ist beim MPLAB8 kein Compiler dabei, sondern nur Voreinstellungen dafür. fchk
Hab ich grad auch gemerkt. also klappt der von der MPLABX-Seite nur im MPLABX?
Hi, Registrierung ist absolut unbedenklich. ICh bekomme darüber nicht einmal eine Mail pro Monat, IAR oder Xilinx sind da deutlich schlimmer. Und eine WEitergabe gar erfolgt nicht. Zumindest erhalte ich über für diese Zwecke genutzte MailAddy noch keine Mails von "dritten" - Und die benutze ich schon seit Jahren. Und jemand der dennoch Bedenken hat kann sich ja problemlos eine "Yahoo" oder "Web.de" Adresse erstellen. Ist in 5 Minuten gemacht. ICh halte es sowieso für Sinnvoll mit mehreren EmailAdressen zu arbeiten. Seit JAhren mache ich es so, das ich eine Email_Addy fürs "geschäft" habe, eine für "Privat", eine nur für "Foren", eine für solche Downloads usw... Wenn dann mal eine Addy "verspammt" wird, (Wie vor ein paar JAhren durch einen Trojaner auf dem PC einer Freundin) dann ist der Schaden sehr begrenzt und man braucht nur einem kleinen Kreis ggf. die neue Mail mitzuteilen. Aber BTT: Als Programmierdevice würde ich AUF JEDEN FALL zu einem Originalgerät von MC raten. Maximal einen 100% Clone könnte man auch noch akzeptieren. Der ICD2 Clone KÖNNTE tatsächlich zwar ein 100% Clone sein, da die benötigten Informationen ja öffentlich sind, aber gerade ICD2 würde ich heute nich tmehr zum Einstieg nehmen, INSBESONDERE nicht für die PIC32. Es lassen sich zwar EINIGE PIC32 damit programmieren, aber leider längst nicht mehr alle. Und die Liste der nichtmehr unterstützten PICs wird immer größer (Das liegt am Spannungsbereich, das ICD2 kommt mit der Spannung nicht weit genug runter als das die neuen PIC die für kleine Spannungen konzipiert sind das problemlos vertragen) Wie schon geschrieben kommen für den Einsteiger zwei Programmiergeräte in Frage. Das PicKit3 oder aber der ICD3. Von den Grundfunktionen sind die beide identisch, aber der ICD3 bietet beim Debuggen etwas mehr an Funktionalität und ist bei einigen µC während des Programmiervorgangs deutlich schneller. Aber er ist auch einiges teurer. Welcher Programmer nun für dich der bessere ist, das musst du selbst entscheiden. Soll es nur ein reinschnuppern sein und du willst später auch nur ab- und an etwas mit den µC machen -ODer du weist gar überhaupt nicht ob du wirklich mit den PIC32 weiter machst- dann würde ich mir ohne Frage das PK3 holen. Kostet um 30Euro, kann alle aktuellen Microchip µC, egal ob 8, 16 oder 32Bit und kann auch debuggen. Für den Einstieg oder die gelegentliche Anwendung ist es auch nicht tragisch wenn der Schreibvorgang auf dem µC statt 5 sek. mal 30 oder gar 45 Sekunden braucht. Damit hast du lange ausgesorgt und bis auf die paar Sekunden beim Flashen so gut wie keine NAchteile. Steht bei dir schon fest das du RICHTIG INTENSIV mit den PIC32 arbeiten willst, dann bliebe schon die Frage ob es nicht direkt der ICD3 sein soll, weil wenn ich evtl. tagein Tagaus mehrmals die Stunde flashe, dann können die Sekunden schon was ausmachen und man wird sich schon nach einem "schnelleren" Programmer umsehen. Wobei der PReis mit fast 200 Euro schon happig ist. ODer man sagt sich, selbst wenn ich doppelt kaufe, erst PK3, dann ICD3 später einmal, das ist auch nicht verkehrt da ich so immer Ausfallreserve habe oder den billigen Programmer dann für kritische Schaltungen wo ich mir nicht 100% sicher bin das keine für den Programmer "gefährlichen" Pegel vorkommen können (OK, ist Ausnahmefall, haben nur wenige, hatte ich auch erst einmal) nehmen kann um für DIE WENIGEN Schreibvorgänge nicht den teureren ICD3 riskieren zu müssen. In so einem Fall wäre der PK3 auch die "erste" Wahl für dne Einstieg. http://www.microchipdirect.com/ProductSearch.aspx?Keywords=PG164130 (Achtung Versandkosten bei MC-Direkt sind HOCH, besser andere Quelle suchen) Olimex bietet ja auch einen PK3 NAchbau an, wenn es ein 100% Clone (Ok, das offensichtlich abweichende Gehäuse mal ausgenommen) ist, dann KÖNNTE man diesen auch nehmen. Das würde ich aber vorher erfragen. Und auf JEDEN JEDEN JEDEN Fall lasse die Finger von Programmiergeräten die keine Clone der offiziellen Geräte sind und eigene Software brauchen. Die Zeit in der solche Geräte als günstige Alternative eine Lösung waren ist vorbei, manchmal sind die heute teurer als die Originalen, bieten kein Debugging und sind im HAndling VIEL Umständlicher da die ja nicht aus MPLAB heraus funktionieren! Zudem bieten die KEINE Garantie auf zukünftigen Support. Ach ja: M. H. schrieb: > Wenn die Registrierung > unbedenklich ist, dann regestriere ich mich und kann dann einfach die > "60 Tage full, danach ohne Optimierung"-Version benutzen, kostenlos? JA- Die nutzung ist kostenlos AUCH DAUERHAFT ... 60Tage funktioniert die voll, dann werden einige Optimierungen zurückgeschaltet -(der fertige Code wird evtl. Größer)- aber es funktioniert einwandfrei. Eine Rolle spielen die Optimierungen für dne Hobbyisten so gut wie überhaupt nicht! Wenn man wirklich ein Programm hat das so umfangreich ist das der Speicher im verwendeten µC Knapp wird (Als Einsteiger wird es sehr lange dauern bis du diesen Punkt erreichst, selbst bei den Kleinsten 32Bittern), dann nimmt man für 20ct. mehr halt den "nächstgrößeren" im selben Gehäuse. Interessant ist die MAximale Optimierung nur für Komerzielle Anwender die HOHE STÜCKZAHLEN produzieren. Wenn man durch die bessere Optimierung es sachafft sein Programm in den µC mit einer nummer Kleineren Speicher zu Quetschen, dann lassen sich (bei großen Stückzahlen) sicher 5-10ct. pro Controller sparen. Verbaut man aber 10k µC am Tag, sind das schon 250-500 Euro/TAG, 50 -100k Euro pro Jahr. Da spielt es eine Rolle. Für den Bastler mit 10µC/Monat oder den Betrieb mit einer Fertigung von Speziallösungen und einem "Verbrauch" von 500µC/Monat, da spielen die 20ct keine Rolle. Nicht wenige Bastler nehmen ja sowieso die Varianten die in dem jeweiligen Gehäuse am meisten an Leistung bieten. ICh würde dir evtl. aber zum DIREKTEN Installieren der LITE Version raten. Diese läuft von Anfang an mit geringeren Optimierungen. Bietet also ERST einmal weniger Leistung. Allerdings ersparst du dir nach 60Tagen dann das Wegklicken des Hinweisfensters das die 60Tage rum sind und die Optimierungen abgeschaltet sind. Das kommt dann öfter... Oder wenn du auch in PC Programmierung einigermaßen Firm bist MACHST du dir selbst eine UNBESCHRÄNKTE Version mit Maximaler Optimierung. (IST AUCH ZULÄSSSIG!) Die Compiler für 16 & 32 Bit basieren auf GCC und daher liegen die Quellcodes OFFEN, kannst du dir bei Microchip runterladen. Da einfach die entsprechenden Stellen abändern und Compilieren. HAbe dazu schon Anleitungen (was, wo) im Netz gesehen. Ist wie gesagt in diesem Fall VÖLLIG LEGAL ;-) Gruß Carsten
OK. Dann werde ich mich da mal regisrieren und die Lite installieren. Wie sage ich MPAB v8.80, dass ich diesen Compiler verwenden möchte bzw. Wo er ist.
M. H. schrieb: > OK. Dann werde ich mich da mal regisrieren und die Lite installieren. > Wie sage ich MPAB v8.80, dass ich diesen Compiler verwenden möchte bzw. > Wo er ist. Project -> Select Language Toolsuite Project -> Set Language Tools Locations (sollte nach der Installation eigentlich passend eingestellt sein)
Da ich noch zur schule gehe, weiss ich nicht was ich bei COMPANY eingeben muss. Ebenfalls weiss ich nicht wofür die Adresse gut ist. Muss dort meine private rein oder die Company Adresse
M. H. schrieb: > Da ich noch zur schule gehe, weiss ich nicht was ich bei COMPANY > eingeben muss. Ebenfalls weiss ich nicht wofür die Adresse gut ist. Muss > dort meine private rein oder die Company Adresse Völlig Egal, Kannst auch sonstetwas reinschreiben... ICh habe meine Registrierungsdaten auch erst "real" gemacht als ich den Hobbybereich verlassen habe... Vorher war ich auch "Carsten Anonym" aus der "SagichnichtStraße" Wobei die Realdaten aber auch nicht Schaden. Wenn du es mit deinen Realdaten machen möchtest, dann schreibe bei Company ruhig: "Schule". Kann bei Anfragen an MC sogar recht hilfreich sein, die bisherige Erfahrung zeigt das die sowohl Schülern und insbesondere natürlich Studenten "sehr Hilfsbereit" gegenüber eingestellt sind. Gruß Carsten
ich kann Carsten in allem nur beipflichten. ich habe bei denen seit vielen jahren schon einen account mit richigen daten (ich bekomme nie spam oder so). früher war ich auch student und habe vielleicht deshalb immer guten hardware-support (samples) bekommen (ich hab's nie missbraucht). und vielleicht liegt es auch heute daran, dass wenn ich mal etwas brauche (kommt ca. 1x/jahr vor, weil ich es über distributoren nicht bekomme), dass ich sofort(!) beliefert werde auch wenn ich da "only for private hobby" als verwendungszweck hinschreibe. unterdessen habe ich auch schon mit meinem privaten account für ein projekt meiner firma gesamplet, weil ich keine lust hatte einen firmen-account zu errichten... die folge ist nun, dass wir ein produkt von Microchip anstelle vom hersteller XY zukünftig verbauen (20k stück pro jahr). tja, eine hand wäscht die andere ;-)
Wegen Programmieradapter: Sehe ich das richtig das sich die PIC32 nicht per UART flashen lassen oder bin ich blind auf den Augen?
> die folge ist nun, dass wir ein produkt von Microchip > anstelle vom hersteller XY zukünftig verbauen ... zumal es bei Microchip seltener Lieferprobleme gibt als anderswo
Wenn PIC32, dann vielleicht PINGUINO - AURDUINO-Format mit PIC32 nur für 24€ bei http://www.watterott.com/de/PIC32-PINGUINIO . Die Software MIPS gcc & Arduino compatible Library kommt von hier: https://github.com/chipKIT32/chipKIT32-MAX/downloads
Michael G. schrieb: > Wegen Programmieradapter: Sehe ich das richtig das sich die PIC32 nicht > per UART flashen lassen oder bin ich blind auf den Augen? Nein, Du bist nicht blind. Der Standardweg heißt ICSP. fchk
Danke für die Bestätigung, ich konnte es nicht glauben da ich davon ausgegangen bin das Bootloader unter den 32-Bittern selbstverständlich sind. Hintergrund: Es geht um ein Carrierboard für ein ARM9 Modul mit Linux. So ein Board setzen wir schon mit einem CM3 µC ein der über seinen UART mit dem Linux-Modul kommuniziert und auch darüber programmiert wird. Ansonsten würde es in beiden Fällen (und vielen anderen) auch ein 8-Bitter tun. Ich hatte jetzt mit dem PIC32MX120F-irgendwas geliebäugelt weil der klein ist und Sensortasten direkt unterstützt. Nun ja, ich sehe mir noch die EFM32 bezügl. Touch an, sonst wird es ein anderer QFNxx Cortex mit einem angeflanschten QT1070. Carsten Sch. schrieb: > Eine Rolle spielen die Optimierungen für dne Hobbyisten so gut wie > überhaupt nicht! Wenn man wirklich ein Programm hat das so umfangreich > ist das der Speicher im verwendeten µC Knapp wird (Als Einsteiger wird > es sehr lange dauern bis du diesen Punkt erreichst, selbst bei den > Kleinsten 32Bittern), dann nimmt man für 20ct. mehr halt den > "nächstgrößeren" im selben Gehäuse. Ich habe da weniger Bedenken wegen der Codegröße (-O2 kann durchaus größer sein) sondern mehr wegen der Ausführungsgeschwindigkeit. Ich kenne diesbezüglich aber nur den arm-gcc. Die Optimierungsstufen sind ja plattform- und konfigurationsabhängig. Bei den GLCD Routinen meines Radioweckers (240x64 Px) dauert der Bildaufbau bei -O1 rund 20% länger (gegenüber -O2). Der Code ist aber etwas kleiner. Aber auch wenn die Unterschiede nur gering sind, der Anwender wird dadurch zunächst einmal verunsichert. Zumal es für andere Architekturen kostenlose Compiler ohne Einschränkungen gibt. Ich denke Microchip sollte besser darüber aufklären was es mit den Einschränkungen konkret auf sich hat. Es ist doch schon seltsam das sie sich einerseits Mühe geben größtmöglichen Support zu bieten auf der anderen Seite aber die Leute abschrecken.
Ich habe noch ein paar Fragen: Habe mir jetzt mal ein paar PIC32er angeschaut und stelle fest, dass viele mehrere Debug/Programmier Channel besitzen. Ist es egal an welchen ich meinen programmer hänge? Wenn nein: Wovon hängt es ab. (Hab irgendwie nur so Sammel-datenblätter in denen alles nur so halb erklärt ist...) Danke.
M. H. schrieb: > Habe mir jetzt mal ein paar PIC32er angeschaut und stelle fest, dass > viele mehrere Debug/Programmier Channel besitzen. Ist es egal an welchen > ich meinen programmer hänge? Ja. Damit hast Du Ausweichmöglichkeiten, wenn Du einen bestimmten Pin für etwas anderes brauchen solltest. Bei einigen älteren PICs hast Du ein bestimmtes Pin-Paar (PGC/PGD) zum Programmieren, aber noch ein oder zwei Alternativen zum Debuggen. Das steht dann aber im Datenblatt drin. > Wenn nein: Wovon hängt es ab. (Hab > irgendwie nur so Sammel-datenblätter in denen alles nur so halb erklärt > ist...) Dann muss ich Dir Blindheit, Faulheit, Unfähigkeit oder eine Kombination daraus unterstellen! Geh auf die Produktseite Deines Controllers: http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en545660 Lies das produktspezifische Manual "PIC32MX5XX/6XX/7XX Family Data Sheet" http://ww1.microchip.com/downloads/en/DeviceDoc/61156G.pdf Lies die Errata dazu "PIC32MX575/675/695/775/795 Family Errata and Datasheet Clarification" http://ww1.microchip.com/downloads/en/DeviceDoc/80480H.pdf Lies das generische "PIC32 Family Reference Manual". Das besteht aus diversen Teilen. Für diese Frage ist Teil 33 "Programming and Diagnostics" zuständig: http://ww1.microchip.com/downloads/en/DeviceDoc/61129E.pdf Da steht dann auch z.B. "33.3.1.1.1 ICSP Interface ICSP uses two pins as the core of its interface. The programming data line (PGD) functions as both an input and an output, allowing programming data to be read in and device information to be read out on command. The programming clock line (PGC) is used to clock in data and control the overall process. Most PIC32MX family of devices have more than one pair of PGC and PGD pins; these are multiplexed with other I/O or peripheral functions. Individual ICSP pin pairs are indicated by number (e.g., PGC1/PGD1, etc.), and are generically referred to as ‘PGCx’ and ‘PGDx’. The multiple PGCx/PGDx pairs provide additional flexibility in system design by allowing users to incorporate ICSP on the pair of pins that is least constrained by the circuit design. All PGCx and PGDx pins are functionally tied together and behave identically, and any one pair can be used for successful device programming. The only limitation is that both pins from the same pair must be used" Wie gesagt - es steht alles da. Muss man nur lesen können und wollen. PS: Zum Debuggen musst Du per #pragma angeben, auf welchem Port Du debuggen möchtest, damit auf dem Port die anderen Pin-Funktionen abgeschaltet bleiben. Auch das steht in diesem Text. Den JTAG-Port würde ich übrigens abschalten. Brauchst Du nicht. fchk
Ok. Danke. 1. In den Datenblättern heißen die Pins aber PGECx/PGEDx. 2. sorry für die Frage aber hab keinen Plan wo ich nachschauen kann wie ich das mit #pragma machen soll. weiss nur, dass ich um zu debuggen #pragma config DEBUG=ON schreiben muss.....
M. H. schrieb: > 1. In den Datenblättern heißen die Pins aber PGECx/PGEDx. Ja. Wenn man weiterliest, kommt dann: "33.3.1.2 ENHANCED IN-CIRCUIT SERIAL PROGRAMMING (EICSP) The Enhanced In-Circuit Serial Programming (EICSP) protocol is an extension of the original ICSP. It uses the same physical interface as the original, but changes the location and execution of programming control to a software application written to the PIC32MX family of devices. Use of Enhanced ICSP results in a significant decrease in overall programming time." Daher das zusätzliche 'E'. > 2. sorry für die Frage aber hab keinen Plan wo ich nachschauen kann wie > ich das mit #pragma machen soll. weiss nur, dass ich um zu debuggen > #pragma config DEBUG=ON schreiben muss..... Dort, wo Du den C32 Compiler installiert hast, gibts unter ./doc eine Datei "hlpPIC32MXConfigSet.chm". Die schaust Du Dir mal an. Du solltest Dir ohnehin mal alle Dateien in diesem Verzeichnis zu Gemüte führen. Das reduziert Deinen Fragebedarf deutlich. fchk
Ok. Hab rausgefunden, dass das ICESEL Bit angibt, welche Pins benutzt werden, richtig? wie setzte ich sie mit #pragma?
M. H. schrieb: > Ok. Hab rausgefunden, dass das ICESEL Bit angibt, welche Pins benutzt > werden, richtig? > > > wie setzte ich sie mit #pragma? Du hast in dem Verzeichnis ein "MPLAB C32 User Guide.pdf". Das darfst Du auch lesen. Suche mal nach "4.8.1 #pragma config" und lies den folgenden Abschnitt. Es steht alles da. Kann es sein, dass Lesen nicht Deine Stärke ist? fchk
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.