2017
Jan
09

这篇文章将介绍如何在 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

下面这些连结是这五个软体的载点,每个都要下 载喔:

以下是手动编译的安装方式:

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 键位设定档,或是你自已产生键位设定档,这里我只说明如何刷键位。

下载好 hex 档后,我们要翻到 GH60 PCB 板背面,背面有个按钮,用摄子轻轻的按下去, PCB 的 CAPS 键的灯就会开始闪,这样就进去刷机模式罗,接著你要使用笔电的键盘,输入下列三个指令:

  • dfu-programmer atmega32u4 erase --force
  • dfu-programmer atmega32u4 flash gh60_lufa.hex
  • dfu-programmer atmega32u4 reset

刷机完成画面

Mac PCB 刷机



回應 (Leave a comment)