|
Auf dieser Eingangsseite jetzt nur in Kürze für was dieses Repository 'gut' ist:
Der im Auslieferungszustand enthaltene serielle Bootloader ist für den Bastler nicht so richtig
Alltagstauglch. Auch wenn der Autor nicht wirklich ein Fan von dem Arduino-Framework ist, hat
er dennoch an der Idee des Bootloaders - wenn die Debug-Funktion nicht wirklich gebraucht wird -
gefallen gefunden. Es ist einfach eine schöne, schnelle und 'saubere Sache' einfach nur einen
USB-Stecker in eine Buchse zu stecken und schon kann man loslegen (zumindest was die Hardware
angeht).
Wenn der Autor es korrekt verstanden hat, dann ist der im Auslieferungszustand enthaltene
serielle Bootloader nicht so wirklich brauchbar und ein Flasherprogramm hat er auch nur für
Windows gesehen.
auf den Github-Seiten von Christian Lohr gibt es 2 wesentliche Seiten:
Ersterer stellt ein grundsätzliches Framework zur Verfügung auf der auch dieser Bootloader hier
aufbaut.
Die zweite Seite beschäftigt sich mit V-USB und sehr faszinierend hier ist, dass dort auch
ein Bootloader für eben V-USB zur Verfügung gestellt wird. Dieser Bootloader hat gegenüber
diesem UART-Bootloader folgende Vorteile:
- deutlich schnellerer Upload
- weniger benötigte Bauteile (2 Zenerdioden und 3 Widerstände, ggf. 3.3V Spannungsregler)
Nachteilig jedoch ist, dass mit diesem Bootloader keine serielle Verbindung aus der Firmware
heraus aufgebaut werden kann. Zudem nimmt es von den eh schon knappen GPIO's 2 weitere weg,
wenn es einer seriellen Schnittstelle bedarf. Zudem bedarf es dann einer weiteren USB-Buchse,
die eine Schaltung dann haben muß. Der V-USB Bootloader ist also immer dann von
Vorteil, wenn es keiner seriellen Schnittstelle bedarf. Ein weiterer Nachteil dieses V-USB
Bootloaders ist, dass vor jedem Upload eine Reset-Taste gedrückt werden muß damit der Bootloader
für eine einstellbare Zeit im Bootloader verbleibt um evtl. einen Upload-Befehl entgegen zu
nehmen.
Die Nachteile des V-USB Bootloaders sind dann auch die Vorteile des UART-Bootloaders:
- nur eine USB-Buchse notwendig
- vor einem Upload bspw. mittels eines 'make flash' wird durch das Hostprogramm der Controller
selbsttätig in den Bootmodus gesetzt
- immer noch sehr deutlich schneller als 'ArduLink'
Der Bootloader kann entweder zur Not (weil kein Programmer verfügbar ist) mit einem Arduino
oder einem Programmer geflasht werden. Hierfür sind die Einstellungen im wohl selbsterklärenden
Makefile entsprechend zu setzen.
Um dieses bewerkstelligen zu können, muß aus einem Arduino ein Programmer gemacht werden und hierfür
ist dann in diesem Repository auch die Firmware für einen Arduino / AVR gegeben.
Für ein grundsätzliches Arbeiten mit CH32V003, der Installation einer Toolchain und dem Aufbau
eines DIY Programmers / Selbstbauprogrammers gibt es diese Seite (im Aufbau befindlich, aber
schon einiges enthalten):
Das dieser Text hier noch keine Dokumentation ist, ist dann auch das noch große (und sehr ungeliebte)
ToDo für diese Seite.
Für denjenigen, der das dennoch aufbaut:
br>
Viel Spaß damit!
PS: auch wenn der Autor wie beschrieben kein Fan von Arduino ist, hat er dennoch Patches ausgearbeitet,
mit denen es möglich ist, einen CH32V003 auch komfortabel und wie von einem UNO oder Nano gewohnt, den
Chip zu flashen. Hier ist auch die Doku noch das große ToDo... in der Hoffnung auf ein "coming soon"
|