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

Arduboy 実験2

■CPU、データシート
Atmel's ATmega32u4
http://www.avr.jp/user/ds.htm
mega16U4.pdf


■メモリ(データシートより抜粋)

0x0000 - 0x7fff FLASH 32KB

※arudino IDEで書き込めるサイズは28KB 0x0000 - 0x6fff
 ブートローダは残りの4KB?
0x0000 - 0x001f 汎用レジスタ 32B
0x0020 - 0x005f 標準I/0レジスタ 64B
0x0060 - 0x00ff 拡張I/0レジスタ 160B
0x0100 - 0x0aff SRAM 2.5KB
0x0000 - 0x03ff EEPROM


■プログラムの配置
コードはFLASH領域。グローバル変数、ローカル変数はSRAM領域。
セーブデータはEEPROM領域。
Arduino Unoのメモリ


■ディスプレイ
SSD1306
https://www.adafruit.com/products/326


SPI通信して描画しています。ものすごくわかりやすい解説がありました(感謝。
http://jsdiy.web.fc2.com/oled_ssd1306/
https://www.mgo-tec.com/blog-entry-32.html


※Arduboy Library を使うとディスプレイバッファのために
SRAM領域の1024Bが取られます。

#define WIDTH 128
#define HEIGHT 64
unsigned char sBuffer[(HEIGHT*WIDTH)/8];

色は黒、白のみで1bit。

#define WHITE 1 //< lit pixel
#define BLACK 0 //< unlit pixel


■音
あとで調査予定。Arduboy Libraryは arduino-playtuneを使っています。
https://github.com/LenShustek/arduino-playtune


■ライブラリ、リファレンスマニュアル
https://github.com/Arduboy/Arduboy
http://community.arduboy.com/t/reference-page-for-development/76/


■画像コンバータ
http://fuopy.github.io/arduboy-image-converter/
https://github.com/yyyc514/img2ard



■標準的なCLI開発環境(windows
Arduino IDE + cygwin(make, python) + ino
Arduino IDE内のデフォルトプロジェクトをベースにsetup, loop関数を書く + Arduboy Libraryという形。


ただcygwinは入れるの面倒ですし100行程度のmakefileはどこかにないのかなぁ。
そもそもIDE自体がgcc使っているのだからmake.exeも入れておいてほしいと思うのですけど。


同じようなことを考える方はいるみたいでIDEの1.0.6には入っている情報を入手。
2008年もののmakefile.exeだけど、とりあえず以下の方法を採用。
Arduino IDE 1.6.5 + Arduino IDE 1.0.6(make.exeのみ) + 秀丸エディタ
でちょっとやってみようかと思います。