aboutsummaryrefslogtreecommitdiff
path: root/docs/de/newbs_flashing.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/de/newbs_flashing.md')
-rw-r--r--docs/de/newbs_flashing.md369
1 files changed, 0 insertions, 369 deletions
diff --git a/docs/de/newbs_flashing.md b/docs/de/newbs_flashing.md
deleted file mode 100644
index 940438669..000000000
--- a/docs/de/newbs_flashing.md
+++ /dev/null
@@ -1,369 +0,0 @@
1# Deine Tastatur flashen
2
3Nachdem deine Firmware nun fertig ist musst Du Sie noch auf deine Tastatur flashen.
4
5## Flash-Vorgang mit QMK Toolbox
6
7Der einfachste Weg deine Tastatur zu flashen ist mit Hilfe der [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases)
8
9Leider ist die QMK Toolbox derzeit nur für Windows und macOS verfügbar. Wenn Du Linux benutzt (oder es vorziehst die Firmware mit der Kommandozeile zu flashen) solltest Du die Methode benutzen die [hier](de/newbs_flashing.md#tastatur-mit-der-befehlszeile-flashen) beschrieben wird.
10
11### Lade die Datei in QMK Toolbox
12
13Beginne damit die Datei in der QMK Toolbox Anwendung zu laden. Versichere dich dass Du die Firmware-Datei im Finder oder Explorer findest. Deine Tastatur-Firmware sollte entweder vom Typ `.hex` oder `.bin` sein sein. QMK sollte die für deine Tastatur entsprechende Datei automatisch in das Root-Verzeichnis (normalerweise `qmk_firmware`) kopieren.
14
15?> Wenn Du Windows oder macOS benutzt kannst Du mit folgenden Befehlen ganz einfach das aktuelle Firmware-Verzeichnis im Explorer oder Finder öffnen.
16
17#### Windows:
18
19``` start . ```
20
21#### macOS:
22
23``` open . ```
24
25Die Firmware-Dateien folgen dabei immer folgendem Schema:
26
27 <meine_Tastatur>_<meine_Tastaturbelegung>.{bin,hex}
28
29Zum Beispiel würde ein `planck/rev5` mit der `default` Tastaturbelegung folgenden Dateinamen haben:
30
31 planck_rev5_default.hex
32
33Wenn Du die Firmware-Datei gefunden hast kannst Du sie in das "Local file" ("Lokale Datei") Feld in der QMK Toolbox ziehen, alternativ kannst Du auf "Öffnen" klicken und in das Verzeichnis navigieren indem sich die Firmware-Datei befindet.
34
35### Die Tastatur in den DFU (Bootloader) Modus versetzen
36
37Um deine angepasste Firmware auf deine Tastatur zu flashen musst Du diese erst in einen speziellen "flashing"-Modus versetzen. Während die Tastatur in diesem Modus ist kannst Du nicht auf ihr tippen oder sie wie gewohnt als Tastatur benutzen. Es ist wichtig dass der flashing-Prozesses nicht unterbrochen oder die Tastatur ausstöpselst wird, da der Vorgang ansonst wiederholt werden muss.
38
39Verschiedene Tastaturen verwenden unterschiedliche Methoden um in den Bootloader-Modus zu gelangen. Wenn dein PCB im Moment QMK oder TMK verwendet und Du keine spezifischen Anweisungen erhalten hast probiere die folgenden Methoden in dieser Reihenfolge:
40
41* Halte beide Shift-Tasten und drücke `Pause`
42* Halte beide Shift-Tasten und drücke `B`
43* Entferne deine Tastatur vom Computer, drücke gleichzeitig `Leertaste` und `B`, verbinde die Tastatur wieder mit dem Computer und warte eine Sekunde bevor Du die Tasten wieder loslässt.
44* Drücke den physischen `RESET`-Knopf auf der Unterseite des PCBs
45* Suche auf dem PCB den Pin mit dem Label `RESET`, verbinde diesen mit deinem GND-Pin
46* Suche auf dem PCB den Pin mit dem Label `BOOT0`, verbinde diesen mit GND und schließe die Tastatur wieder an den PC an TODO: DIS IS DANGEROUS!!
47
48Wenn Du damit erfolgreich warst solltest Du in der QMK Toolbox eine Nachricht sehen die ungefähr so aussieht:
49
50```
51*** Clueboard - Clueboard 66% HotSwap disconnected -- 0xC1ED:0x2390
52*** DFU device connected
53```
54
55### Tastatur flashen
56
57Klicke auf den `Flash`-Knopf in der QMK Toolbox. Die Ausgabe wird ungefähr so aussehen:
58
59```
60*** Clueboard - Clueboard 66% HotSwap disconnected -- 0xC1ED:0x2390
61*** DFU device connected
62*** Attempting to flash, please don't remove device
63>>> dfu-programmer atmega32u4 erase --force
64 Erasing flash... Success
65 Checking memory from 0x0 to 0x6FFF... Empty.
66>>> dfu-programmer atmega32u4 flash qmk_firmware/clueboard_66_hotswap_skully.hex
67 Checking memory from 0x0 to 0x55FF... Empty.
68 0% 100% Programming 0x5600 bytes...
69 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
70 0% 100% Reading 0x7000 bytes...
71 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
72 Validating... Success
73 0x5600 bytes written into 0x7000 bytes memory (76.79%).
74>>> dfu-programmer atmega32u4 reset
75
76*** DFU device disconnected
77*** Clueboard - Clueboard 66% HotSwap connected -- 0xC1ED:0x2390
78```
79
80## Tastatur mit der Befehlszeile flashen
81
82Zunächst solltest Du versuchen herauszufinden welchen Bootlader deine Tastatur benutzt. Diese vier Bootloader sind am Weitesten verbreitet:
83
84| MCU | Bootloader |
85| --- | --- |
86| Pro-Micro und Klone | CATERINA |
87| Teensy | Halfkay |
88| OLKB Boards | QMK-DFU |
89| sonstige atmega32u4 | DFU |
90
91Auf der Seite [Flash Anleitung und Bootloader Informationen](de/flashing.md) kannst Du mehr über das Thema erfahren.
92
93Wenn Du weißt welchen Bootloader deine Tastaur verwendet, kannst Du diese Information bei der Kompilation hinzufügen um den Flash-Vorgang mit dem `make`-Befehl zu automatisieren.
94```rules.mk
95...
96BOOTLOADER = caterina
97...
98```
99
100### DFU
101
102Wenn Du den DFU-Bootloader verwendest und Du bereit bist deine Firmware zu kompilieren und zu flashen, öffne ein Befehlszeile und führe folgenden Befehl aus:
103
104 make <meine_Tastatur>:<meine_Tastaturbelegung>:dfu
105
106Wenn deine Tastaturbelegung z.B den Namen "xzverz" trägt und Du ein rev5 planck flashen möchtest sähe der Befehl wie folgt aus:
107
108 make planck/rev5:xyverz:dfu
109
110
111Nachdem der Vorgang abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
112
113```
114Linking: .build/planck_rev5_xyverz.elf [OK]
115Creating load file for flashing: .build/planck_rev5_xyverz.hex [OK]
116Copying planck_rev5_xyverz.hex to qmk_firmware folder [OK]
117Checking file size of planck_rev5_xyverz.hex
118 * File size is fine - 18574/28672
119 ```
120
121Wenn dieser Punkt erreicht ist wird das Build-Skript alle 5 Sekunden nach einem DFU Bootloader suchen. Dieser Vorgang wird wiederholt bis er erfolgreich ist oder abgebrochen wird.
122
123 dfu-programmer: no device present.
124 Error: Bootloader not found. Trying again in 5s.
125
126Wenn diese Nachricht erscheint konnte das Build-Skript den Controller nicht eigenständig in den DFU Modus versetzen (z.B. weil der Modus in rules.mk falsch gesetzt wurde oder ein Problem mit der Hardware besteht), wenn dies eintritt musst Du die oben beschrieben Schritte benutzen um den Controller in den DFU Modus zu versetzen. Danach sollte die Ausgabe ungefähr so aussehen:
127
128```
129*** Attempting to flash, please don't remove device
130>>> dfu-programmer atmega32u4 erase --force
131 Erasing flash... Success
132 Checking memory from 0x0 to 0x6FFF... Empty.
133>>> dfu-programmer atmega32u4 flash qmk_firmware/clueboard_66_hotswap_skully.hex
134 Checking memory from 0x0 to 0x55FF... Empty.
135 0% 100% Programming 0x5600 bytes...
136 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
137 0% 100% Reading 0x7000 bytes...
138 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
139 Validating... Success
140 0x5600 bytes written into 0x7000 bytes memory (76.79%).
141>>> dfu-programmer atmega32u4 reset
142```
143
144?> Wenn Du mit diesem Schritt Probleme hast (z.B. `dfu-programmer: no device present`) hilft dir hoffentlich der Abschnitt [Häufig gestellte Fragen (Build/Kompilieren)](de/faq_build.md).
145
146#### DFU Befehle
147
148Es gibt verschiedene DFU Befehle um die Firmware auf ein DFU Gerät zu flashen:
149
150* `:dfu` - Dies ist die default Option. Es wird gecheckt ob ein DFU Gerät verfügbar ist, ist dies der Fall wird die Firmware geflasht. Dieser Check wird alle 5 Sekunden ausgeführt bis ein DFU Gerät erkannt wird.
151* `:dfu-ee` - Der Flash-Vorgang benutzt eine `.eep` Datei anstatt einer `.hex` Datei. Dies ist eher unüblich.
152* `:dfu-split-left` - Dies flasht die Firmware wie gewohnt (`:dfu`). Allerdings nur die "linke Seite" der EEPROM für geteilte Tastaturen. _Dies ist ideal für auf Elite C basierenden geteilten Tastaturen._
153* `:dfu-split-right` - Dies flasht die Firmware wie gewohnt (`:dfu`). Allerdings nur die "rechte Seite" der EEPROM für geteilte Tastaturen. _Dies ist ideal für auf Elite C basierenden geteilten Tastaturen._
154
155
156### Caterina
157Für Arduinos und andere ProMicro Klone (z.B. SparkFun ProMicro), wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
158
159 make <meine_Tastatur>:<meine_Tastaturbelegung>:avrdude
160
161Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein "rev2 Lets Split" erzeugen möchtest, lautet der Befehl dafür:
162
163 make lets_split/rev2:xyverz:avrdude
164
165Nachdem die Kompilation abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
166
167```
168Linking: .build/lets_split_rev2_xyverz.elf [OK]
169Creating load file for flashing: .build/lets_split_rev2_xyverz.hex [OK]
170Checking file size of lets_split_rev2_xyverz.hex [OK]
171 * File size is fine - 27938/28672
172Detecting USB port, reset your controller now..............
173```
174
175Nun wird die Tastatur automatisch zurückgesetzt und das Skript wird die Firmware flashen sobald es den Bootloader erkennt. Die Ausgabe sollte ungefähr so aussehen:
176
177```
178Detected controller on USB port at /dev/ttyS15
179
180Connecting to programmer: .
181Found programmer: Id = "CATERIN"; type = S
182 Software Version = 1.0; No Hardware Version given.
183Programmer supports auto addr increment.
184Programmer supports buffered memory access with buffersize=128 bytes.
185
186Programmer supports the following devices:
187 Device code: 0x44
188
189avrdude.exe: AVR device initialized and ready to accept instructions
190
191Reading | ################################################## | 100% 0.00s
192
193avrdude.exe: Device signature = 0x1e9587 (probably m32u4)
194avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
195 To disable this feature, specify the -D option.
196avrdude.exe: erasing chip
197avrdude.exe: reading input file "./.build/lets_split_rev2_xyverz.hex"
198avrdude.exe: input file ./.build/lets_split_rev2_xyverz.hex auto detected as Intel Hex
199avrdude.exe: writing flash (27938 bytes):
200
201Writing | ################################################## | 100% 2.40s
202
203avrdude.exe: 27938 bytes of flash written
204avrdude.exe: verifying flash memory against ./.build/lets_split_rev2_xyverz.hex:
205avrdude.exe: load data flash data from input file ./.build/lets_split_rev2_xyverz.hex:
206avrdude.exe: input file ./.build/lets_split_rev2_xyverz.hex auto detected as Intel Hex
207avrdude.exe: input file ./.build/lets_split_rev2_xyverz.hex contains 27938 bytes
208avrdude.exe: reading on-chip flash data:
209
210Reading | ################################################## | 100% 0.43s
211
212avrdude.exe: verifying ...
213avrdude.exe: 27938 bytes of flash verified
214
215avrdude.exe: safemode: Fuses OK (E:CB, H:D8, L:FF)
216
217avrdude.exe done. Thank you.
218```
219Sollten dabei Probleme auftreten (z.B. "Zugriff verweigert" / "Permission denied") muss der Make-Befehl mit privilegierten Berechtigungen ausgeführt werden:
220
221 sudo make <meine_Tastatur>:<meine_Tastaturbelegung>:avrdude
222
223Zusätzlich ist es möglich mehrere Tastaturen in einem Vorgang zu flashen:
224
225 make <keyboard>:<keymap>:avrdude-loop
226
227Du kannst den Loop mit STRG + C unterbrechen sobald der Vorgang abgeschlossen ist. Die korrekte Tastenkombination kann abweichen und hängt vom Betriebssystem ab.
228
229
230### HalfKay
231
232Für Tastaturen mit PJRC Controllern (Teensy's), wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
233
234 make <meine_Tastatur>:<meine_Tastaturbelegung>:teensy
235
236Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein Ergodox oder Ergodox EZ erzeugen möchtest, lautet der Befehl dafür:
237
238 make ergodox_ez:xyverz:teensy
239
240Nachdem die Kompilation abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
241
242```
243Linking: .build/ergodox_ez_xyverz.elf [OK]
244Creating load file for flashing: .build/ergodox_ez_xyverz.hex [OK]
245Checking file size of ergodox_ez_xyverz.hex [OK]
246 * File size is fine - 25584/32256
247 Teensy Loader, Command Line, Version 2.1
248Read "./.build/ergodox_ez_xyverz.hex": 25584 bytes, 79.3% usage
249Waiting for Teensy device...
250 (hint: press the reset button)
251 ```
252
253An diesem Punkt solltest Du die Tastatur zurücksetzen um den Flash-Vorgang auszulösen. Wenn dies abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
254
255 ```
256Found HalfKay Bootloader
257Read "./.build/ergodox_ez_xyverz.hex": 28532 bytes, 88.5% usage
258Programming.............................................................
259...................................................
260Booting
261```
262
263### BootloadHID
264
265Für auf Bootmapper Client(BMC)/bootloaderHID/ATmega32A basierende Tastaturen, wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
266
267 make <meine_Tastatur>:<meine_Tastaturbelegung>:bootloaderHID
268
269Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein jj40 erzeugen möchtest, lautet der Befehl dafür:
270
271 make jj40:xyverz:bootloaderHID
272
273Nachdem die Kompilation abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
274
275```
276Linking: .build/jj40_default.elf [OK]
277Creating load file for flashing: .build/jj40_default.hex [OK]
278Copying jj40_default.hex to qmk_firmware folder [OK]
279Checking file size of jj40_default.hex [OK]
280 * The firmware size is fine - 21920/28672 (6752 bytes free)
281```
282
283Wenn dieser Punkt erreicht ist wird das Build-Skript alle 5 Sekunden nach einem DFU Bootloader suchen. Dieser Vorgang wird wiederholt bis er erfolgreich ist oder abgebrochen wird.
284
285```
286Error opening HIDBoot device: The specified device was not found
287Trying again in 5s.
288```
289
290An diesem Punkt solltest Du die Tastatur zurücksetzen um den Flash-Vorgang auszulösen. Wenn dies abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
291
292```
293Page size = 128 (0x80)
294Device size = 32768 (0x8000); 30720 bytes remaining
295Uploading 22016 (0x5600) bytes starting at 0 (0x0)
2960x05580 ... 0x05600
297```
298
299### STM32 (ARM)
300
301Für die meisten ARM Tastaturen (inkl. Proton C, Planck Rev 6 und Preonic Rev 3), wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
302
303 make <meine_Tastatur>:<meine_Tastaturbelegung>:dfu-util
304
305Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein Planck Revision 6 erzeugen möchtest, benutze dafür den folgenden Befehl und reboote die Tastatur in den Bootloader (kurz bevor der Kompiliervorgang abgeschlossen ist):
306
307 make planck/rev6:xyverz:dfu-util
308
309Nachdem der Kompiliervorgang abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
310
311Für auf Bootmapper Client(BMC)/bootloaderHID/ATmega32A basierende Tastaturen, wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
312
313 make <meine_Tastatur>:<meine_Tastaturbelegung>:bootloaderHID
314
315Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein jj40 erzeugen möchtest, lautet der Befehl dafür:
316```
317Linking: .build/planck_rev6_xyverz.elf [OK]
318Creating binary load file for flashing: .build/planck_rev6_xyverz.bin [OK]
319Creating load file for flashing: .build/planck_rev6_xyverz.hex [OK]
320
321Size after:
322 text data bss dec hex filename
323 0 41820 0 41820 a35c .build/planck_rev6_xyverz.hex
324
325Copying planck_rev6_xyverz.bin to qmk_firmware folder [OK]
326dfu-util 0.9
327
328Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
329Copyright 2010-2016 Tormod Volden and Stefan Schmidt
330This program is Free Software and has ABSOLUTELY NO WARRANTY
331Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
332
333Invalid DFU suffix signature
334A valid DFU suffix will be required in a future dfu-util release!!!
335Opening DFU capable USB device...
336ID 0483:df11
337Run-time device DFU version 011a
338Claiming USB DFU Interface...
339Setting Alternate Setting #0 ...
340Determining device status: state = dfuERROR, status = 10
341dfuERROR, clearing status
342Determining device status: state = dfuIDLE, status = 0
343dfuIDLE, continuing
344DFU mode device DFU version 011a
345Device returned transfer size 2048
346DfuSe interface name: "Internal Flash "
347Downloading to address = 0x08000000, size = 41824
348Download [=========================] 100% 41824 bytes
349Download done.
350File downloaded successfully
351Transitioning to dfuMANIFEST state
352```
353
354#### STM32 Befehle
355
356Für Tastaturen mit STM32 Controller sind die DFU Befehle wie folgt:
357
358* `:dfu-util` - The default command for flashing to STM32 devices.
359* `:dfu-util` - Der Standard-Befehl für STM32 Geräte.
360* `:dfu-util-wait` - Funktioniert wie der Standard-Befehl, aber mit einem 10 Sekunden Timeout bevor erneut versucht wird die Firmware zu flashen. Mit dem Parameter `TIME_DELAY=20` auf der Befehlszeile kann der Timeout beeinflusst werden.
361 * z.B.: `make <meine_Tastatur>:<meine_Tastaturbelegung>:dfu-util TIME_DELAY=5`
362* `:dfu-util-split-left` - Gleiche Funktionsweise wie `dfu-util`, jedoch wird zusätzlich das EEPROM Setting "linke Seite" für geteilte Tastaturen gesetzt.
363* `:dfu-util-split-right` - Gleiche Funktionsweise wie `dfu-util`, jedoch wird zusätzlich das EEPROM Setting "rechte Seite" für geteilte Tastaturen gesetzt.
364
365## Probier's aus!
366
367Herzlichen Glückwunsch! Deine individuell angepasst Firmware wurde auf deine Tastatur übertragen!
368
369 Probiere deine neue Tastatur aus und gehe sicher dass alles wie gewünscht funktioniert. Wir haben einen weiteren Artikel zum Thema [Testen und Debuggen](de/newbs_testing_debugging.md) verfasst der sich mit Problembeseitigung beschäftigt um den Beginnger-Guide abzuschließen.