aboutsummaryrefslogtreecommitdiff
path: root/docs/ja/flashing.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ja/flashing.md')
-rw-r--r--docs/ja/flashing.md247
1 files changed, 247 insertions, 0 deletions
diff --git a/docs/ja/flashing.md b/docs/ja/flashing.md
new file mode 100644
index 000000000..0245250ce
--- /dev/null
+++ b/docs/ja/flashing.md
@@ -0,0 +1,247 @@
1# 書き込みの手順とブートローダ情報
2
3<!---
4 original document: 0.10.33:docs/flashing.md
5 git diff 0.10.33 HEAD -- docs/flashing.md | cat
6-->
7
8キーボードが使用するブートローダにはかなり多くの種類があり、ほぼ全てが異なる書き込みの方法を使います。幸いなことに、[QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) のようなプロジェクトは、あまり深く考える必要無しに様々なタイプと互換性を持つことを目指していますが、この文章では様々なタイプのブートローダとそれらを書き込むために利用可能な方法について説明します。
9
10`rules.mk` の `BOOTLOADER` 変数で選択されたブートローダがある場合、QMK は .hex ファイルがデバイスに書き込むのに適切なサイズかどうかを自動的に計算し、合計サイズをバイト単位で(最大値とともに)出力します。
11
12## DFU
13
14Atmel の DFU ブートローダはデフォルトで全ての atmega32u4 チップに搭載されており、PCB (旧 OLKB キーボード、Clueboard) に独自の IC を持つ多くのキーボードで使われています。一部のキーボードは、LUFA の DFU ブートローダ(または QMK のフォーク) (新しい OLKB キーボード)を使う場合もあり、そのハードウェアに固有の追加機能が追加されます。
15
16DFU ブートローダとの互換性を確保するために、以下のブロックが `rules.mk` にあることを確認してください(オプションとして代わりに `lufa-dfu` や `qmk-dfu` が使えます):
17
18```make
19# Bootloader selection
20# Teensy halfkay
21# Pro Micro caterina
22# Atmel DFU atmel-dfu
23# LUFA DFU lufa-dfu
24# QMK DFU qmk-dfu
25# ATmega32A bootloadHID
26# ATmega328P USBasp
27BOOTLOADER = atmel-dfu
28```
29
30互換性のあるフラッシャ:
31
32* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (推奨の GUI)
33* QMK の [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` (推奨のコマンドライン)
34
35書き込み手順:
36
371. `RESET` キーコードを押すか、RESET ボタンをタップします(または RST を GND にショートします)。
382. OS がデバイスを検知するのを待ちます。
393. メモリを消去します(自動的に実行されるかもしれません)
404. .hex ファイルを書き込みます
415. デバイスをアプリケーションモードにリセットします(自動的に実行されるかもしれません)
42
43あるいは:
44
45 make <keyboard>:<keymap>:dfu
46
47### QMK DFU
48
49QMK には LUFA DFU ブートローダのフォークがあり、ブートローダを終了してアプリケーションに戻る時に単純なマトリックススキャンを行うことができます。また、何かが起きた時に、LED を点滅したり、スピーカーでカチカチ音をたてたりします。これらの機能を有効にするには、`config.h` で以下のブロックを有効にします (ブートローダを終了するキーは、ここで定義された INPUT と OUTPUT に接続する必要があります):
50
51 #define QMK_ESC_OUTPUT F1 // 通常 COL
52 #define QMK_ESC_INPUT D5 // 通常 ROW
53 #define QMK_LED E6
54 #define QMK_SPEAKER C6
55
56製造元と製品名は `config.h` から自動的に取得され、製品に「Bootloader」が追加されます。
57
58このブートローダを生成するには、`bootloader` ターゲット、例えば `make planck/rev4:default:bootloader` を使います。
59
60実稼働対応の .hex ファイル(アプリケーションおよびブートローダを含む)を生成するには、`production` ターゲット、例えば `make planck/rev4:default:production` を使います。
61
62### DFU コマンド
63
64ファームウェアを DFU デバイスに書き込むために使用できる DFU コマンドがいくつかあります。
65
66* `:dfu` - これが通常のオプションで、DFU デバイスが使用可能になるまで待機したのちファームウェアを書き込みます。5秒ごとに、DFU デバイスが存在するかチェックしています。
67* `:dfu-ee` - 通常の hex ファイルの代わりに `eep` ファイルを書き込みます。これを使用するのはまれです。
68* `:dfu-split-left` - デフォルトオプション (`:dfu`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「左側の」 EEPROM ファイルも書き込まれます。_これは、Elite C ベースの分割キーボードに最適です。_
69* `:dfu-split-right` - デフォルトオプション (`:dfu`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「右側の」 EEPROM ファイルも書き込まれます。_これは、Elite C ベースの分割キーボードに最適です。_
70
71## Caterina
72
73Arduino ボードとそのクローンは [Caterina ブートローダ](https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/caterina) (Pro Micro またはそのクローンで構築されたキーボード)を使用し、avr109 プロトコルを使って仮想シリアルを介して通信します。[A-Star](https://www.pololu.com/docs/0J61/9) のようなブートローダは Caterina に基づいています。
74
75Caterina ブートローダとの互換性を確保するために、以下のブロックが `rules.mk` にあることを確認してください:
76
77```make
78# Bootloader selection
79# Teensy halfkay
80# Pro Micro caterina
81# Atmel DFU atmel-dfu
82# LUFA DFU lufa-dfu
83# QMK DFU qmk-dfu
84# ATmega32A bootloadHID
85# ATmega328P USBasp
86BOOTLOADER = caterina
87```
88
89互換性のあるフラッシャ:
90
91* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (推奨の GUI)
92* avr109 を使った [avrdude](https://www.nongnu.org/avrdude/) / `:avrdude` (推奨のコマンドライン)
93* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
94
95書き込み手順:
96
971. `RESET` キーコードを押すか、RST をすばやく GND にショートします (入力後7秒で書き込みます)
982. OS がデバイスを検知するのを待ちます。
993. .hex ファイルを書き込みます
1004. デバイスが自動的にリセットされるのを待ちます
101
102あるいは
103
104 make <keyboard>:<keymap>:avrdude
105
106
107### Caterina コマンド
108
109ファームウェアを DFU デバイスに書き込むために使用できる DFU コマンドがいくつかあります。
110
111* `:avrdude` - これが通常のオプションで、Caterina デバイスが(新しい COM ポートを検出して)使用可能になるまで待機し、ファームウェアを書き込みます。
112* `:avrdude-loop` - これは `:avrdude` と同じコマンドを実行します。ただし書き込みが終了すると再び Caterina デバイスの書き込み待ちに戻ります。これは何台ものデバイスへ書き込むのに便利です。_Ctrl+C を押して、手動でこの繰り返しを終了させる必要があります。_
113* `:avrdude-split-left` - デフォルトオプション (`:avrdude`) と同様に通常のファームウェアが書き込まれます。ただし、分割キーボードの「左側の」 EEPROM ファイルも書き込まれます。_これは、Pro Micro ベースの分割キーボードに最適です。_
114* `:avrdude-split-right` - デフォルトオプション (`:avrdude`) と同様に通常のファームウェアが書き込まれます。ただし、分割キーボードの「右側の」 EEPROM ファイルも書き込まれます。_これは、Pro Micro ベースの分割キーボードに最適です。_
115
116
117
118## Halfkay
119
120Halfkay は PJRC によって開発された超スリムなプロトコルであり、HID を使用し、全ての Teensys (つまり 2.0)に搭載されています。
121
122Halfkay ブートローダとの互換性を確保するために、以下のブロックが `rules.mk` にあることを確認してください:
123
124```make
125# Bootloader selection
126# Teensy halfkay
127# Pro Micro caterina
128# Atmel DFU atmel-dfu
129# LUFA DFU lufa-dfu
130# QMK DFU qmk-dfu
131# ATmega32A bootloadHID
132# ATmega328P USBasp
133BOOTLOADER = halfkay
134```
135
136互換性のあるフラッシャ:
137
138* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (推奨の GUI)
139* [Teensy ローダー](https://www.pjrc.com/teensy/loader.html)
140* [Teensy ローダーコマンドライン](https://www.pjrc.com/teensy/loader_cli.html) (推奨のコマンドライン)
141
142書き込み手順:
143
1441. `RESET` キーコードを押すか、RST をすばやく GND にショートします (入力後7秒で書き込みます)
1452. OS がデバイスを検知するのを待ちます。
1463. .hex ファイルを書き込みます
1474. デバイスをアプリケーションモードにリセットします(自動的に実行されるかもしれません)
148
149## USBasploader
150
151USBasploader は matrixstorm によって開発されたブートローダです。V-USB を実行する ATmega328P のような非 USB AVR チップで使われます。
152
153USBasploader ブートローダとの互換性を確保するために、以下のブロックが `rules.mk` にあることを確認してください:
154
155```make
156# Bootloader selection
157# Teensy halfkay
158# Pro Micro caterina
159# Atmel DFU atmel-dfu
160# LUFA DFU lufa-dfu
161# QMK DFU qmk-dfu
162# ATmega32A bootloadHID
163# ATmega328P USBasp
164BOOTLOADER = USBasp
165```
166
167互換性のあるフラッシャ:
168
169* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (推奨の GUI)
170* `usbasp` プログラマを使った [avrdude](https://www.nongnu.org/avrdude/)
171* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
172
173書き込み手順:
174
1751. `RESET` キーコードを押すか、RST を GND にすばやくショートしながら、ブートピンを GND にショートしたままにします。
1762. OS がデバイスを検知するのを待ちます。
1773. .hex ファイルを書き込みます
1784. デバイスをアプリケーションモードにリセットします(自動的に実行されるかもしれません)
179
180## BootloadHID
181
182BootloadHID は AVR マイクロコントローラ用の USB ブートローダです。アップローダーツールは Windows でカーネルレベルのドライバを必要としないため、DLL をインストールせずに実行することができます。
183
184bootloadHID ブートローダとの互換性を確保するために、以下のブロックが `rules.mk` にあることを確認してください:
185
186```make
187# Bootloader selection
188# Teensy halfkay
189# Pro Micro caterina
190# Atmel DFU atmel-dfu
191# LUFA DFU lufa-dfu
192# QMK DFU qmk-dfu
193# ATmega32A bootloadHID
194# ATmega328P USBasp
195BOOTLOADER = bootloadHID
196```
197
198互換性のあるフラッシャ:
199
200* [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) (推奨の Windows GUI)
201* [bootloadhid コマンドライン](https://www.obdev.at/products/vusb/bootloadhid.html) / QMK の `:BootloadHID` (推奨のコマンドライン)
202
203書き込み手順:
204
2051. 以下のいずれかの方法を使ってブートローダに入ります:
206 * `RESET` キーコードをタップします (全てのデバイスでは動作しないかもしれません)
207 * キーボードを接続しながらソルトキーを押し続けます (通常はキーボードの readme に書かれています)
2082. OS がデバイスを検知するのを待ちます。
2093. .hex ファイルを書き込みます
2104. デバイスをアプリケーションモードにリセットします(自動的に実行されるかもしれません)
211
212あるいは:
213
214 make <keyboard>:<keymap>:bootloadHID
215
216## STM32
217
218全ての STM32 チップには、変更も削除もできない工場出荷時のブートローダがプリロードされています。一部の STM32 チップには USB プログラミングが付属していないブートローダがありますが(例えば STM32F103)、プロセスは同じです。
219
220現時点では、STM32 の `rules.mk` には、`BOOTLOADER` 変数は不要です。
221
222互換性のあるフラッシャ:
223
224* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (推奨の GUI)
225* [dfu-util](https://github.com/Stefan-Schmidt/dfu-util) / `:dfu-util` (推奨のコマンドライン)
226
227書き込み手順:
228
2291. 以下のいずれかの方法を使ってブートローダに入ります:
230 * `RESET` キーコードをタップします (STM32F042 デバイスでは動作しないかもしれません)
231 * リセット回路が存在する場合、RESET ボタンをタップします
232 * それ以外の場合は、(BOOT0 ボタンあるいはブリッジ経由で)BOOT0 を VCC にブリッジし、(REEST ボタンあるいはブリッジ経由で)RESET を GND にショートし、BOOT0 ブリッジを放す必要があります。
2332. OS がデバイスを検知するのを待ちます。
2343. .bin ファイルを書き込みます
235 * DFU 署名に関する警告が表示されます; 無視してください
2364. デバイスをアプリケーションモードにリセットします(自動的に実行されるかもしれません)
237 * コマンドラインからビルドする場合(例えば、`make planck/rev6:default:dfu-util`)、`rules.mk` の中で `:leave` が `DFU_ARGS` 変数に渡されるようにしてください (例えば、`DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave`)。そうすれば、書き込みの後でデバイスがリセットされます
238
239### STM32 コマンド
240
241ファームウェアを STM32 デバイスに書き込むために使用できる DFU コマンドがいくつかあります。
242
243* `:dfu-util` - STM32 デバイスに書き込むためのデフォルトコマンドで、STM32 ブートローダデバイスが見つかるまで待機します。
244* `:dfu-util-split-left` - デフォルトのオプション (`:dfu-util`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「左側の」 EEPROM の設定も行われます。
245* `:dfu-util-split-right` - デフォルトのオプション (`:dfu-util`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「右側の」 EEPROM の設定も行われます。
246* `:st-link-cli` - dfu-util ではなく、ST-LINK の CLI ユーティリティを介してファームウェアを書き込めます。
247* `:st-flash` - dfu-util ではなく、[STLink Tools](https://github.com/stlink-org/stlink) の `st-flash` ユーティリティを介してファームウェアを書き込めます。