私のPCでは 自作キーボードのマイコン Pro Microのファームウェアを書き替えることができませんでした。
同じPCを御使用の方は少ないかもしれませんが、詳細を記します。
[私のPC]
ASRock J4105M というマザーボードを載せた自作機です。
CPUはオンボードで、 Celeron J4105です。
OSは、Debian GNU/Linuxです。
[Pro Micro]
遊舎工房の通販で購入したもので、
Meishi2のキットと Claw44のキットに入っていたものです。
[エラーの状況]
qmk_firmwareをPCにダウンロードし、
ファームウェアのコンパイルは正常にできました。
meishi2は、初回の書き込みは成功したのですが、
キーの割り当てを変更したファームウェアを Pro Microに上書きしようとすると、末尾のようなエラーメッセージが表示されて失敗します。
Claw44は、キットのPro Microにはファームウェアが初めから入っているのですが、 こちらもキー割り当ての変更するためにファームウェアを上書きしようとすると、 同様のエラーメッセージが表示されて失敗します。
ファームウェアを消すところまではできているようで、
それまで使えていた自作キーボードが使えなくなります。(涙)
[対処方法]
私はこのPC(J4105M)で自作キーボードのファームウェアに書き込むことを諦めました。
他のマシン(Raspberry Pi 2, Raspbian)を使うとうまくできました。
[エラーメッセージなど]
#make maish2:default:avrdude
QMK Firmware 0.7.101
Making meishi2 with keymap default and target avrdude
avr-gcc (GCC) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Size before:
text data bss dec hex filename
0 22722 0 22722 58c2 .build/meishi2_default.hex
Compiling: tmk_core/common/command.c [OK]
Linking: .build/meishi2_default.elf [OK]
Creating load file for flashing: .build/meishi2_default.hex [OK]
Copying meishi2_default.hex to qmk_firmware folder [OK]
Checking file size of meishi2_default.hex [OK]
- The firmware size is fine – 22722/28672 (79%, 5950 bytes free)
Detecting USB port, reset your controller now…………
Device /dev/ttyACM1 has appeared; assuming it is the controller.
Waiting for /dev/ttyACM1 to become writable.
Connecting to programmer: .
Found programmer: Id = “CATERIN”; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.
Programmer supports the following devices:
Device code: 0x44
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: NOTE: “flash” memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file “.build/meishi2_default.hex”
avrdude: input file .build/meishi2_default.hex auto detected as Intel Hex
avrdude: writing flash (22722 bytes):
Writing | ##avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
#avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
#avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
#avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: set addr
| 100% 19.51s
avrdude: 22722 bytes of flash written
avrdude: verifying flash memory against .build/meishi2_default.hex:
avrdude: load data flash data from input file .build/meishi2_default.hex:
avrdude: input file .build/meishi2_default.hex auto detected as Intel Hex
avrdude: input file .build/meishi2_default.hex contains 22722 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.17s
avrdude: verifying …
avrdude: 22722 bytes of flash verified
avrdude: safemode: Fuses OK (E:FB, H:D8, L:FF)
avrdude done. Thank you.