Der WFI32 ist Microchips Antwort auf den ESP32. War das Evaluation Board (PIC32 WFI32E Curiosity Board) schon seit einiger Zeit erhältlich, so folgt nun die Distributor-Verfügbarkeit von Modulen und Standalone-Chips.
von Tam Hanna
Für Quereinsteiger: womit haben wir es hier zu tun?
Die Anbindung hauseigener Hardware an Funkschnittstellen erfolgte seit Jahr und Tag durch per UART anzubindende Funkmodule wie z.B. den EasyRadio-Modulen des britischen Herstellers LPRS. Seit einiger Zeit stehen mit Chips wie dem ESP32 Produkte zur Verfügung, die einen frei programmierbaren Mikrocontroller und das Funkmodul „in einen Chip“ packen. Zur Steigerung der Bequemlichkeit gibt es häufig Pick&Place-automatenfreundliche Module, die sogar Antenne und grundlegende Stromversorgung erledigen (siehe Abbildung).
Vorteile des WFI32
Außer Frage steht, dass der ESP32 funktioniert – der Autor setzt den Chip unter Anderem in einer modeelektronischen Anwendung ein. Insbesondere im Analogbereich sind die Peripheriegeräte des ESP32 suboptimal.
Die Linearität des ADC lässt dabei so sehr zu wünschen übrig, dass manche Hersteller seperate ADC-Controller verbauen: der in der Abbildung gezeigte Neonious One ist ein gutes Beispiel dafür.
Ein 12bit-ADC mit einer Maximalgeschwindigkeit von 2MSPS wird von Microchip dementsprechend im hervorgehoben, zudem hat der Controller bzw das Modul einen USB Host-Controller (USB 2.0 OTG).
Andererseits bringt der ESP32 ein Bluetoothmodul mit, das dem WFI32 fehlt; zudem ist er wesentlich preisgünstiger – in 25er-Stückzahl ruft Mouser für den WFI32 mit PCB-Antenne 8.88EUR pro Stück auf.
Der als Kern der WFI32-Familie dienende Controller ist auch standalone erhältlich und hört da auf den Namen PIC32MZ1025W104 – diese Seriennummer ist für die später schemenhaft erfolgende Einrichtung in MPLAB X erforderlich. Er hat einen einzelnen, mit bis zu 200MHz getakteten MIPS32-Kern. 1MB Flashspeicher und 256KB SRAM plus einen 64KB großen Pufferbereich. Die Microchip-Übliche Kryptobeschleunigerengine hilft hier auch bei der Erzeugung von Zufallszahlen, die Assemblersprache enthält einige DSP-spezifische Instruktionen.
Module mit u.FL-Connector oder PCB-Antenne
Neben dem Standalone-Chip bietet Microchip vier vorgefertigte Module an – zwei haben eine integrierte Antenne, während zwei die Anbindung über einen u.FL-Stecker erlauben.
Die C-Modulvarianten bringen zusätzlich Unterstützung für Trust&Go mit.
Vorteil 2: MPLAB X
Grafische Codegeneratoren helfen bei der Einrichtung von Peripheriegeräten – Microchip bietet mit MCC einen durchaus brauchbaren Vertreter des Genres an, der zudem Teil einer kostenlosen (und sehr leistungsfähigen) IDE ist.
Für die Arbeit mit dem WFI32 bzw dem PIC32MZ1025W104 ist allerdings die „ausgewachsene“ Variante MPLab Harmony 3 erforderlich – sie muss im ersten Schritt, wie in der Abbildung gezeigt, als Plug-In heruntergeladen werden. Zudem ist der separat zu installierende XC32 erforderlich. Nach dem Restart finden Sie im Projektskelettgenerator eine neue Option, die die Erzeugung eines Harmony-Projekts erlaubt.
Beachten Sie, dass das MCC-Schildsymbol in diesem Fall nicht aktiviert werden darf – die beim Anklicken auftauchende Fehlermeldung mit Hinweis auf nicht vorhandene Bibliotheken ist bei Verwendung des WFI32 irreführend, weil MCC für dieses Modul keinen Code generiert.
Korrekt ist das Aktivieren des MHC-Werkzeugs über die Option Tools > Embedded > MPLAB® Harmony 3 Configurator, was zum Aufscheinen des in der Abbildung gezeigten Konfigurationswerkzeugs führt.
MHC unterscheidet sich vom Aufbau her insofern von MCC; als es an Flussdiagramme erinnernde Projektstrukturbäume erwartet. Unter https://microchip-mplab-harmony.github.io/mhc/doc/readme_mhc_configuration.html findet sich ein erster Einstieg in die Programmierung mit dem Produkt – MPLAB hat bei aktiviertem Harmony-Configurator zudem ein Extramenü namens MHC, in dem sich einige Sonderoptionen finden.
Ist zwar schon dass Microchip endlich mal etwas mit WiFi wieder
herausgegeben hat. Vermutlich durch die Jahre lange geübte Zukauf haben
die schon ganz vergessen wie man etwas entwickelt. Leider hat die
Marketingabteilung bezüglich Preis etwas daneben geschossen. €64.60
steht auf Microchip online, und so wie ich es aus dem Datenblatt
verstehe bekommt man dafür einen Board mit WiFi + bisschen Flash +
Temperatursensor. Und ein Haufen Pin Headers die keiner so richtig
braucht. Das muss ein Vitz sein. Da kauft man lieber doch ein ESP32
board + Tempsensor für unter 10 Euro oder so.
Dann das ganze mit Mplab Harmony. Das erste was man da tun soll, ein
Projekt erstellen die C und H Files aussaugen und Harmony vergessen.
Makefile tut viel schneller. MPLAB X und Debuggen? Also wenn die es bei
einer PIC32MZ Curiosity board nicht schaffen den ordentlich debugbar zu
machen, dann hier bestimmt auch nicht. Ein und aus stecken ist das
default workaround wenn der Teil nicht geflasht werden kann. Debuggen?
Ist ein Glück wenn überhaupt das tut. Wenn nix mehr tut, PC neu starten.
Und MPLAB X muss man auch ab und zu mal killen...
Microchip ist in den Jahren so verschlimmbessert geworden dass man
lieber arbeitslos wird als mit deren Tools arbeiten zu wollen. Ich tu
mir schon selber leid dass ich in mein Hobby mit Microchip etwas noch
mache.
Die Artikelfotos sind leider etwas dürftig. Wie ein ESP32 aussieht weiß
ich inzwischen. Aber von dem eigentlich präsentierten Modul habe ich
jetzt immer noch keinen Eindruck. Wie groß ist das Ding, wie kann ich es
integrieren, ...?
Andre schrieb:> Die Artikelfotos sind leider etwas dürftig. Wie ein ESP32 aussieht weiß> ich inzwischen. Aber von dem eigentlich präsentierten Modul habe ich> jetzt immer noch keinen Eindruck. Wie groß ist das Ding, wie kann ich es> integrieren, ...?
Hallo Andre,
werde bei Microchip nachher um Bilder intervenieren.
Maile mir unter tamhan aeht tamoggemon rundesding com. Kann aber
bisschen dauern, rassischer Halbaraber muss heute Abend zum Service
(Operation).
lg
th
Andras H. schrieb:> Ist zwar schon dass Microchip endlich mal etwas mit WiFi wieder> herausgegeben hat. Vermutlich durch die Jahre lange geübte Zukauf haben> die schon ganz vergessen wie man etwas entwickelt. Leider hat die> Marketingabteilung bezüglich Preis etwas daneben geschossen. €64.60> steht auf Microchip online, und so wie ich es aus dem Datenblatt> verstehe bekommt man dafür einen Board mit WiFi + bisschen Flash +> Temperatursensor. Und ein Haufen Pin Headers die keiner so richtig> braucht. Das muss ein Vitz sein. Da kauft man lieber doch ein ESP32> board + Tempsensor für unter 10 Euro oder so.>> Dann das ganze mit Mplab Harmony. Das erste was man da tun soll, ein> Projekt erstellen die C und H Files aussaugen und Harmony vergessen.> Makefile tut viel schneller. MPLAB X und Debuggen? Also wenn die es bei> einer PIC32MZ Curiosity board nicht schaffen den ordentlich debugbar zu> machen, dann hier bestimmt auch nicht. Ein und aus stecken ist das> default workaround wenn der Teil nicht geflasht werden kann. Debuggen?> Ist ein Glück wenn überhaupt das tut. Wenn nix mehr tut, PC neu starten.> Und MPLAB X muss man auch ab und zu mal killen...>> Microchip ist in den Jahren so verschlimmbessert geworden dass man> lieber arbeitslos wird als mit deren Tools arbeiten zu wollen. Ich tu> mir schon selber leid dass ich in mein Hobby mit Microchip etwas noch> mache.
Hallo,
das klingt ja echt ungut.
Wenn du mir privat mailst, und ich heute Abend vom OP-Tisch laufe, setze
ich dich in Kontakt mit ein paar Leuten bei MicroChip.
tamhan aeht tamoggemon rundesding com
Andre schrieb:> Wie groß ist das Ding, wie kann ich es> integrieren, ...?
Das alles ist nur meine Vermutung, kann daher komplett falsch sein:
Ich meine Microchip will den Chip verkaufen. Es würde natürlich Sinn
machen ein Chip auf ein LP zu löten + bisschen Hühnerfutter + Antenne
daneben zu machen. Da wird sich der Formfaktor nicht so deutlich anders
sein als bei ein ESP32 mit Metallgehäuse. Ob Microchip so etwas im
eigenen Hause macht? Oder jemand auf dem Markt? Wer weiß. Ich vermute da
die bisherige Module die ähnlich aussahen, hat microchip auch nur immer
dazu gekauft. Von daher sehe ich eher skeptisch, dass die von sich
selber aus etwas machen. Hoffentlich irre ich mich und es kommt da
etwas. Sonst bleiben nur die Chips und selber etwas machen. In Zeiten
JLCPCB bestimmt kein Problem.
Tam H. schrieb:> werde bei Microchip nachher um Bilder intervenieren.
Super, wäre schön wenn du die in den Artikel einbauen könntest. Dann
kann man direkt sehen, ob das Modul für unsere Zielgruppe was taugt. Im
Datenblatt sieht das nach irgendeiner fiesen QFN-mäßigen Bauform aus?
Viel Glück nachher!
Tam H. schrieb:> Wenn du mir privat mailst, und ich heute Abend vom OP-Tisch laufe, setze> ich dich in Kontakt mit ein paar Leuten bei MicroChip.
Ich muss noch überlegen. Prinzipiell ist es ja so, es sind halt
sporadische Robustheitsprobleme über die ganze Toolkette verteilt. Das
heisst, ich kann die Probleme nicht einfach zeigen. Mann muss einfach
halt ca. 5 bis 15 Minuten damit versuchen zu entwickeln und dann kommt
irgend etwas. Für mich als Entwickler heisst:
- sporadisch: wird viel Zeit kosten
- Robustheit: wird vile Zeit kosten
- kommt so ca 5 bis 15 Minuten: pro Versuch kann mann dann mit mind. 5
Minuten aber halt im schlimsten fall doch mit n*15 Minuten rechnen
Da ich Microchip nur für meine Hobby nehme, würde ich so viel Zeit
vermutlich da nicht reininvestierne wollen.
Wobei wenn ich im Arbeit sowas höre dass etwas sporadisch ist und etwas
mit robustheit zu tun hat und dazu noch relativ selten kommt, dann weiss
ich, ich muss hier vermutlich mit dem schweren Geschütz kommen und
verschiedene Aufbauten machen, richtung testen unter last. Teilweise gab
es schon Tickets wo ich 3 Monate lange herumgesucht habe. Solche
Probleme fressen leider sehr viel Zeit (beim Hersteller und beim Kunden)
und brauchen Teilweise tiefe kenntnisse über mehere Teile vom Software.
Ich als hobbyst, habe dann die üblichen Schritte gemacht, damit ich
entwickeln kann:
- USB kabels getauscht. Vielleicht waren die halt verschleisst =>
Robustheitsprobleme weiterhin da
- PC getauscht => weiterhin da
- Versucht erstmal ohen Debuggen auszukommen. Ist halt dof, wenn man nur
ein LED hat, aber mit erfahrung und glück findet man was man sucht.
- Anstelle einfach zu flashen, habe ich erstmal explizit den Flash
gelöscht und dann programiert => Hat immerhin etwas gebracht
- Dann noch festgestellt dass der Bootloader Applikation auf dem PC(!)
irgendwie auch da einwirkt. Verstehe ich bis heute nict wieso, wobei
MPLAB X und der Unified Bootloader ja beides Java sind könnte vielleicht
doch sein => Jetzt ging flashen relativ gut, und auch debuggen. Damit
waren die Meldungen vom on board PicKit auf der Curiosity so weit weig
dass ich damit arbeiten konnte. MPLAB X freez war auch nicht mehr da.
Wobei hier war ich schon so weit dass ich mit dem bootloader flashen
konnte und zum glück den MPLAB X nur zum compilieren brauchte.
Ich muss ehrlich sein, einmal war ich so verzweifelt, dass ich den MPLAB
8 ins ghidra importiert habe, und da habe ich gesehen wie die PIC Typen
aus einem File eingelesen werden. Ist halt mit XOR geschützt. File
DE-XOR-t und ich habe mir schnell da einen PIC32MZ aufgenommen. Immerhin
kann ich da jetzt im MPLAB 8 für den PIC compilieren und makefiles
schnell exportieren. Eventuell debuggen könnte vielleicht auch gehen
wenn man weitere files auch ergentzt. Schade dass Microchip den MPLAB 8
nicht open source macht. So gefühlt würde ich sagen dass MPLAB 8 + ICD3
viel robuster ist als MPLAB X + ICD3. Auch wenn MPLAB 8 manchmal macken
hat, man lernt die und weiss was man dagegen tun kann.
Sonst finde ich dass MPLAB 8 mit weniger resourcen genau so viel leistet
wie der MPLAB X. Mehrwert sehe ich aber aus dem MPLAB X nicht. Ausser
dass der Watch Fenster komplett unbrauchbar geworden ist. Sorry aber da
war der MPLAB 8 viel besser. Bei iSystem/winIDEA kann man auch noch
relativ gut da formatieren und noch einfache C ausdrücke nehmen. Memory
anschauen ist auch ein pain in die ass, bei MPLAB 8 ging das doch
bisschen besser.
Mw E. schrieb:> Vorteil 2: MPLAB X>> Wiebitte?> Das kann nur wer schreiben der kein Plan hat und damit noch nie> gearbeitet hat bzw arbeiten musste.
In Nord-Korea werden Hackers die nicht richtig leisten damit bestraft.
:)
Ich Persönlich nehme immer noch:
MPLAB 8 und makefile export
make mit -j8 damit es schneller geht
Notepad++
und bootloader
Wenn ich debuggen muss, dann MPLAB 8 mit ICD3. Ist noch relativ stabil.
Wenn es nicht geht dann MPLAB X mit ICD3. Aber auf gar keinen fall ICD4,
ist mir zu schwer, und ich erinnere mich leider nicht mehr konkret, aber
der ICD4 hat mich auch irgendwie nicht überzeugt, dass es viel robuster
währe (kann aber troztem so sein).
Harmony nehme ich nur so lange, bis ich da etwas erstelle und es scheint
zu tun. Dann fange ich an die Files einzeln per Hand auszukopieren und
erstelle ein Projekt das völlig unabhängig davon tut.
Gibt es hier eigentlich Leute, ich frage in die Runde, die ihre Sachen
direkt auf einem ESP programmieren.
Überall ist immer die Rede von der Anbindung eine Mikrocontrollers an
einen ESP, aber man kann doch, zumindest kleinere Sachen, direkt damit
machen.
Oder liege ich völlig falsch?
Zu meiner Verteidigung, seit dem Tod meines Sohnes hatte ich keinen Kopf
mehr zum Programmieren.
Hallo,
F. F. schrieb:> Überall ist immer die Rede von der Anbindung eine Mikrocontrollers an> einen ESP
Das war damals, als ich es versucht habe, eine schlechte Idee (wobei ich
habe es mit den ESP8266 gemacht). Ich wollte mein PIC32 an den Seriellen
Interface anbinden und per AT commands dann TCP und UDP Sockets machen.
Es ging relativ gut, außer dass es:
- immer wieder Probleme gab und das Ding nicht antwortete nur mit
busy... ===> workaround war den ESP zu reseten per HW
- ist halt bisschen tricky wenn man den PIC32 resetet und der ESP dabei
ist daten für den Socket zu empfangen. Dann weiss der PIC32 das nicht
mehr und schickt befehle auf den Socket. Der Reset Befehl tut dann
einmal nicht. Bis der Socket voll ist. Also am besten den Reset so ca
1kByte mal schicken. Bis man eine Ordentliche AT Zustandsmaschine macht
vergeht halt sehr viel Zeit.
- dann denkt man es ist ein robustere SW da, flasht man drauf, und dann
ändern sich befehle. Ja ok ich hätte da rein gucken sollen und erst
bewerten und bla bla bla
- dann irgendwann mal kam der AT Software update für den ESP82 nicht.
Oder irgendwie musste man mehr flash haben. Weiss ich nicht mehr. Oder
war der Serielle Port auf eine andere PIN gelegt worden. Hat mich
generft weil ich ein Olimex board gehabt habe und da kann man halt sowas
nicht einfach umstecken.
- dann ist die Frage macht es Sinn einen uC neben dem ESP32 zu packen wo
der ESP32 auch schon alles haben müsste? Rechenleistung müsste der ESP32
genug haben. Flash auch.
- Stromaufnahme? Man muss sich mit 2 uCs herumschlagen.
- Ich habe eine HTTP Server implementiert, dann noch eine HTTP Client
Richtung Thingspeak. Dann wollte ich auf dem PIC32 eine Bootloader per
UDP. Das ging dann nicht mehr, der ESP hat verschiedene Fehlermeldungen
gebracht oder halt einfach nicht geantwortet ===> Hier habe ich
aufgegeben und gesagt ohne den Source Code und Debugger für den ESP82
mache ich da nix mehr.
Also per AT Commands geht es teilweise:
https://thingspeak.com/channels/560741https://thingspeak.com/channels/117112
Aber prinzipiell glaube ich dass es eine schlechte Idee ist. Mann soll
den ESP32 ausnutzten und nicht ein PIC32 oder STM32 daneben packen weil
man sich damit besser auskennt. Ob der ESP32 die Toolingkette schon so
weit hat dass man per Debugger flashen kann? Und alle librarys mit
source code kommen? Das weiss ich nicht. Damals war dies nicht der fall.
F. F. schrieb:> Überall ist immer die Rede von der Anbindung eine Mikrocontrollers an> einen ESP, aber man kann doch, zumindest kleinere Sachen, direkt damit> machen.
Beide Varianten sind gebräuchlich. Ich glaube die meisten Leute nutzen
des ESP als zentralen oder einzigen Mikrocontroller.
Die von Andreas gemeldeten Probleme kenne ich. Die AT Firmware 0.5.0.0
und 1.1.0.0 (für den ESP8266) arbeiten allerdings zuverlässig, wenn man
die Anwendung sauber programmiert.
Stefan ⛄ F. schrieb:> Die von Andreas gemeldeten Probleme kenne ich. Die AT Firmware 0.5.0.0> und 1.1.0.0 (für den ESP8266) arbeiten allerdings zuverlässig, wenn man> die Anwendung sauber programmiert.
Ich meine 1.6.2.0 habe ich im Betrieb. Oder 1.7.4.0 bin aber nicht ganz
sicher. Habe nur den C Code angeguckt weil ich nach dem Reset auf die
Version checke.
Die Dinger laufen ca seit 2-3 Jahren ohne Probleme. Das könnte durchaus
sein dass sich der Firmware soweit verbessert hat, bzw. die Workarounds
die ich noch drin habe auch die Robustheit erhöhen.
Witziger weise ist der PIC32 jetzt ein Robustheitsproblem. Die was
Olimex verbaut hat sind leider die Varianten die den BOR nicht richtig
machen. Im Errata steht dann: Komme nicht in den BOR, wenn doch dann
mache einen POR. Leider wenn die Batterie leer läuft komme ich da hin.
Und danach wenn die Baterrie wieder aufgeladen wird, läuft der PIC32
nicht los. MCLR reset ziehen hilft auch nicht. Nur ein POR. Als
Workaround habe ich da eine grössere Batterrie.
Sonst die ESP82 macht sich da jetzt nicht bemerkbar. Ausser dass ich den
UDP Teil nicht mehr machen konnte. War schon lange her, aber ich habe
dann irgendwie im Terminal geguckt, ja da tut es wenn ich nur UDP mache.
Aber wenn ich TCP Server und Client dann nicht mehr. Egal. Ist nicht
mehr so wichtig.
Was mich bezüglich ESP32 interessieren würde:
- kann man den über JTAG Debuggen und Flashen?
- gibt es zu den Firmware Source Code?
Wenn ja dann würde ich noch einmal auf den ESP32 ein blick werfen. Sonst
ist es mir zu umständlich da etwas machen.
hmm, werd meine ESP32 auch mal wieder auspacken, aber bisher haben die
mich eher gefrustet. An dem IDF von espressif hat sich alle Nase lang
was geändert. Die EclipsePlugins zur Entwicklung waren ziemloich buggy
und alle Nase lang kamen ausgemerzte Fehler wieder rein, andauern ging
irgendwas nicht.
Debuggen lief nicht stabil usw usw. Evtl hat da jemand ja bessere
Erfahrungen gemacht, aber Spaß hats nicht gerade gemacht.
A. B. schrieb:> An dem IDF von espressif hat sich alle Nase lang> was geändert.
Das kommt von dem Anspruch der eierlegenden Wollmilchsau. je mehr
Features man da rein packt oder ermöglichst, umso länger wird an der
Software herum gedoktort. Da macht den Chip für Bastler besonders
attraktiv.
Ich bin da auch eher etwas altmodisch drauf. Mir reicht der ESP-8266 als
Netzwerk-Interface. Bei ganz einfachen Anwendungen reicht er mir als
einziger Prozessor. Ich habe aber keine Lust, eine Drehzahlregelung für
mehrere Motoren, samt lokalem Touch Screen und HTML basiertem
Web-Interface in einen Chip zu quetschen. Solche Kunststücke überlasse
ich der Industrie - beim Hobby muss ich mir den Stress nicht antun.
Mit Bluetooth stehe ich wegen wiederholten Treiber- und
Kompatibilitätsproblemen eh auf Kriegsfuß. Das packe ich nur noch mit
der Kneifzange an, wenn ich dazu gezwungen werde.
Deswegen ist der ESP32 für mich ziemlich uninteressant. Ich habe mit
einen üppigen Vorrat an ESP-01 und ESP-12F Modulen zugelegt, und dazu
passend eine stabile Entwicklungsumgebung. Deren Einschränkungen kenne
ich, neue unangenehme Überraschungen erwarte ich keine mehr (den Kampf
damit hatte ich lange genug). Damit werde ich wohl noch viele Jahre aus
kommen, bevor sie mir langweilig werden.
In 10 Jahren wird für mich mit Elektronik wahrscheinlich sowieso "Ende
im Gelände" sein, weil meine Augen nachlassen. Vielleicht werde ich dann
Bäcker.
Tam H. schrieb:> Ein 12bit-ADC mit einer Maximalgeschwindigkeit von 2MSPS wird von> Microchip dementsprechend im hervorgehoben, zudem hat der Controller bzw> das Modul einen USB Host-Controller (USB 2.0 OTG).
Bitte bitte noch einmal nach dem Schreiben durchlesen und sowas
korrigieren. Aber man könnte auch viel weniger Füllwörter verwenden.
Wer journalistisch arbeitet, sollte auf jeden Fall das Buch "Deutsch für
Profis" oder "Deutsch fürs Leben" von Wolf Schneider gelesen haben (also
weg mit "dementsprechend" und "zudem", kein Passiv, kurze Sätze). Dann
wird einem auch klarer, dass da inhaltlich noch Nachholbedarf ist, was
der eigentliche Grund ist, warum Texte von Tam Hanna immer etwas
unverständlich wirken:
"Microchip betont einen 12bit-ADC mit 2MSPS Maximalgeschwindigkeit. Der
Controller bzw. das Modul hat einen USB 2.0 OTG Host-Controller."
F. F. schrieb:> Gibt es hier eigentlich Leute, ich frage in die Runde, die ihre Sachen> direkt auf einem ESP programmieren.> Überall ist immer die Rede von der Anbindung eine Mikrocontrollers an> einen ESP, aber man kann doch, zumindest kleinere Sachen, direkt damit> machen.
Kleine Sachen? Ein ESP32 hat typischerweise eine Dual-Core 240MHz CPU.
Das Framework benutzt standardmäßig ein Betriebssystem mit Tasks. Es
gibt auch kleinere Varianten mit einer Single-Core (ESP32S2) aber selbst
der ist noch ausreichend schnell. Problematisch ist halt, das die
Firmware zur Laufzeit aus dem externen seriellen Flash kommt. Das ist
der eigentliche Flaschenhals, muss man intelligent den Ram/Cache
einsetzen wo nötig.
Andras H. schrieb:> Hier steht dass Flashen immer noch uber UART geht. Sehe ich das richtig?
Technisch kann man sowohl über UART als auch über JTAG Flashen. Standard
JTAG SW ist gdb + openocd. Weis nicht ob der openocd per JTAG flashen
unterstützt. Einige der neueren ESP32 chips können auch direkt per USB
angesprochen werden.
A. B. schrieb:> hmm, werd meine ESP32 auch mal wieder auspacken, aber bisher haben die> mich eher gefrustet. An dem IDF von espressif hat sich alle Nase lang> was geändert. Die EclipsePlugins zur Entwicklung waren ziemloich buggy> und alle Nase lang kamen ausgemerzte Fehler wieder rein, andauern ging> irgendwas nicht.
Wozu eclipse? ESP-IDF läuft ansich ohne "GUI". Einfach drüber flanschen
was man will. Ich benutze zur Zeit Visual Code als GUI. Debuggen
allerdings nur über Kommandozeile per GDB mit Amontec JTAG-Key. ( Ist
Umständlich, ja )
Ja, visual Studio Code ging auch, das plugin war aber auch noch in heavy
Entwicklung und den Debugger hab ich da auch nicht stabil ans laufen
bekommen.
Nachdem ich mich bisschen an VS Code gewöhnt habe (nutze es für andere
Sachen) finde ich es mittlerweile eigentlich ganz ok und performant. Da
war wie gesagt auch der espressif Teil das Problem. Insgesamt machen die
schon viel und entwickeln aktiv, aber stabil ist das alles nicht
(gewesen)
Ja, flashen per cmd geht. Aber gdb per cmd finde ich nicht gerade
komfortabel. Kann man machen, aber geil isses nicht.
Aber bei mir war mehr das Problem, das die jtag Verbindung total
wackelig war (trotz kurzer Kabel)
Dann fragt man da im forum: ahhh Ja, da musst du natürlich openocd xyz
nehmen. Ach das geht so nicht. Ach jenes geht nur mit Version xy0.4.
Wir haben es in Version 0.4c gefixt. Lässt man das Teil 2 Wochen liegen,
gibt's 3 Updates, 5neue Features und 3alte Sachen gehen plötzlich nicht
mehr.
Naja, genug gerantet. Der Preis treibts rein
A. B. schrieb:> Lässt man das Teil 2 Wochen liegen, gibt's 3 Updates,> 5neue Features und 3alte Sachen gehen plötzlich nicht mehr.
Das ist so bei Espressif, ich hatte die gleiche Phase mit dem ESP8266
durch. Den habe ich mir nur deswegen trotzdem angetan, weil es vor ein
paar Jahren keine (für Hobby) erschwingliche Alternative gab. Ich habe 1
Jahr lang nur mitgelesen un dann 3 Jahre lang gefrickelt, bis ich
endlich ein stabiles Gesamt-Konstrukt hatte.