这篇文章将介绍如何在 Mac 系统中,对 GH60 PCB 板刷键位 ,我们要使用的软体是 dfu-programmer,如何你有安装 Mac package brew 管理工具,那么你可以用 "brew install dfu-programmer
" 一键安装,安装完成的话,你就往下直接跳到刷键位的部分,我个人是习惯直接下载原始码回来安装,如果你没有 brew,或是 brew 安装失败 ,那么请参考下文的安装方式。
手动编译安装 dfu-programmer
dfu-programmer 会用到 libusb 这个软体,所以我们得先安装 libusb ,而要安装 libusb ,就会用到 autoconf, automake, libtool ,这三个软体都是 c 语言编译程式专用的,最后我们总共要安装下面这五个 Package:
- autoconf
- automake
- libtool
- libusb
- dfu-programmer
下面这些连结是这五个软体的载点,每个都要下 载喔:
- ftp://ftp.gnu.org/gnu/autoconf/
- 我是下载 2.69 版: ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
- http://ftp.gnu.org/gnu/automake/
- 我是下载 1.15 版: http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
- https://ftp.gnu.org/gnu/libtool/
- https://sourceforge.net/projects/dfu-programmer/files/dfu-programmer/0.7.0/
- https://sourceforge.net/projects/libusb/files/
以下是手动编译的安装方式:
autoconf
- tar -zxvf autoconf-2.69.tar.gz && cd autoconf-2.69
- ./configure
- make
- sudo make install
automake
- tar -zxvf automake-1.15.tar.gz && cd automake-1.15
- ./configure
- make
- sudo make install
libtool
- tar -zxvf libtool-2.4.tar.gz && cd libtool-2.4
- ./configure
- make
- sudo make install
libusb
- tar -zxvf libusb-1.0.21.tar.gz && cd libusb-1.0.21
- sh bootstrap.sh
- ./configure
- make
- sudo make install
- sudo update_dyld_shared_cache
- export CFLAGS="$CFLAGS -L/usr/local/lib/"
update_dyld_shared_cache 这个指令是为了更新 libusb-1.0 compiler library linker,另外 "export CFLAGS="$CFLAGS -L/usr/local/lib/" 也是为了更新 library linker 的目录。
dfu-programmer
- tar -zxvf dfu-programmer-0.7.0.tar.gz && cd dfu-programmer-0.7.0
- ./configure
- make
- sudo make install
我安装 dfu-programmer 的过程中有发生 "ld: library not found for -lusb-1.0 clang: error: linker command failed with exit code 1 (use -v to see invocation)" 的错误,而执行好几次 update_dyld_shared_cache 跟 设定 CFLAGS 后还是无效,后来我就重新安装 libusb : sudo make install ,结果 dfu-programmer compile 就过了!! 现在还是不知道为什么,可能是 Mac library 的 linker cache 没有成功清除吧。
开始刷键位
dfu-programmer 安装完成后,就可以开始准备刷机啦,我们要先下载 hex 键位设定档,或是你自已产生键位设定档,这里我只说明如何刷键位。
- gh60-0.2_rc2_std_layout: https://geekhack.org/index.php?action=dlattach;topic=37570.0;attach=15860
- gh60_lufa : https://download.puritys.me/gh60_lufa.hex
- gh60_lufa_v2 : https://download.puritys.me/gh60_lufa_v2.hex
下载好 hex 档后,我们要翻到 GH60 PCB 板背面,背面有个按钮,用摄子轻轻的按下去, PCB 的 CAPS 键的灯就会开始闪,这样就进去刷机模式罗,接著你要使用笔电的键盘,输入下列三个指令:
- dfu-programmer atmega32u4 erase --force
- dfu-programmer atmega32u4 flash gh60_lufa.hex
- dfu-programmer atmega32u4 reset
刷机完成画面