読者です 読者をやめる 読者になる 読者になる

Arduboy 実験26

検索していたらビルドできないという情報を目にしました。
うわーわざわざすみません。申し訳なくなって慌てて書いてみました。


もともとのベースはArduino IDE 1.6.6のビルドログです。
hexファイルのアップロードに関しても、IDEのビルドログをパクっています。

フォルダ構成
src
  + core
  + lib
  + res
tool


■core
Arduino IDE のメインプロジェクトです。
以下のものが入っています。

・main関数を含むプロジェクト一式
・pins_arduino.h(Leonard用 ピン定義)
・avr5.xn(Leonard用 リンクファイル)

avr5.xnは、6-8行目のLENGTHをarduboy dev kit用に書き換えてあります。
あとは単純にファイルをコピーしただけです。


■lib
ベースはArduboy Libraryです。おそらくピンを変えることになると思いますが、
oled.h、key.h、snd.hにそれぞれdefineしてあります。

// 例 oled.h 22-24行目

#define OLED_PIN_CS				6
#define OLED_PIN_DC				4
#define OLED_PIN_RST			12


■src, res
ゲーム関連のソースです。いじる必要はないと思います。


■tool
下記でお話しします。


・ビルド方法
windowsIDE 1.6.xのインストールは必須で、ドライバとgcc関連を使っています。
こちらは1.6.6 ~ 1.6.8(最新)で動作しています。


1.フォルダをインストール先に合わせてください。修正は3つです。

・make_bin.bat 2行目
set PATH="C:\Program Files\Arduino\hardware\tools\avr\bin";%PATH%

・makefile 3,4行目
BINPATH		= "C:/Program Files/Arduino/hardware/tools/avr/bin/"
CONFFILE	= "C:/Program Files/Arduino/hardware/tools/avr/etc/avrdude.conf"

64bitマシンの場合、「C:\Program Files (x86)」(スペースも含む)と書く必要があります。
(僕の環境と同じ)32bitマシンは書き換え不要です。


2.make.exeを用意します。
1.6.xはmake.exeが入っていません。古い1.0.6から取ってきます。
https://www.arduino.cc/en/Main/OldSoftwareReleases#previous
場所は

arduino-1.0.6-windows.zip\arduino-1.0.6\hardware\tools\avr\utils\bin

にあります。これを

C:\Program Files\Arduino\hardware\tools\avr\bin

にほうりこみます。


3.make_bin.batを実行します。
たぶんこれでビルドされてhexファイルができます。
余談なことですけど、batは3つあります。

・make_bin.bat  HEXファイルを作るだけ
・make_clean.bat ビルド時に出てくるファイルを消す
・make_usb.bat  HEXファイルを作り、arduboy dev kitにアップロードする


4.make_usb.batについて。
これは蛇足なので読みとばしOKです。

Arduboy dev kitはHEXファイルをアップする前に、comをopen/closeしないといけないです。
google検索したところ、標準的なのはpythonとpyserialを合わせて使うことのようです。

でも開発者全員にインストールを強要するのは嫌なのでC#で適当に作りました。
tool/reset.exe(ソースコード付き)です。


COMは、自分の環境用に2つ指定しないといけません。
IDE付属のavrdude.exe用、reset.exe用です。
(avrdude.exeはリセット機能がないようです。)


1つでええやんと思うのですけど、IDEのビルドログを見ると
ちゃんと2つ使っています。謎です。

// Arduino IDE ビルドログ

シリアルポート「COM5」を1200bpsで開いて閉じる事によって、リセットを行っています。

PORTS {} / {COM4, } => {COM4, }
Found upload port: COM4
avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
Using Port : COM4


修正箇所は以下のとおり。

// Makefile 5行目
COM			= COM4

// make_usb.bat 18行目
..\tool\reset COM5


以上です。