過去のページ Page 33 of 38 未来のページ

11歳ですよもう

鉄腕アトムも11歳。 だいぶ未来に来てしまった……

もざいく

アトムの誕生日は、電気の恋人の歌詞で覚えている。

歌詞: Sham Studio (リンク先音注意)

2003年4月7日に 未来のロボが生まれなくても

電気の恋人

私の小さな時にはもうPC 98 ではなくて、Windows 98 が家にあったような時代であったので、この曲の歌詞の最初のほうのような事は実際にはやったことは無いのだけれど(私の初めて触ったBASIC はWindows98 の上での十進BASICだ。プログラムの意味もよくわからないまま、豊富に同梱されていたサンプルプログラムを改造してみていた)、それでも、この曲を初めて聞いてからだけの機械の進化はすさまじくて、この曲自体を機械が歌うほどだ。

小さい時に聞いていたこの歌をミクが歌うというのは、なんというか、機械の進歩を強く表わしている気がして本当に好きだ。

この曲の入ったCD は現在入手困難ですが(わたしも欲しい)、AmazoniTunes なら購入することができます。

Heartsnative は他にも、「みんなみくみくにしてあげる♪」は"機械と人間" って感じがしてすごくいいと思う(そういう意味では、Heartsnative2 のほうはミクしか歌っていないので、比べると好きじゃない)。

何が言いたいかよくわからない記事になってしまった。アトムの誕生日はどっかにいってミクが好き って記事になってるし。しかも遅れて公開だし。

適当なメモなエントリだ。 もしかしたらまとめるかもしれない。

rx-elf-gcc

ここ のソースコードをビルド中にたたかったメモ。

基本的にこれ を参考に

binutils

http://trac.cross-lfs.org/ticket/926

sed -i -e 's/@colophon/@@colophon/' \
    -e 's/doc@cygnus.com/doc@@cygnus.com/' bfd/doc/bfd.texinfo
sed -i -e 's/@colophon/@@colophon/' \
    -e 's/doc@cygnus.com/doc@@cygnus.com/' ld/ld.texinfo
sed -i -e 's/@itemx/@@itemx/' binutils/doc/binutils.texi
sed -i -e 's/@itemx/@@itemx/' gas/doc/c-mips.texi
sed -i -e 's/@itemx/@@itemx/' gas/doc/c-tic54x.texi
sed -i -e 's/@itemx/@@itemx/' gas/doc/c-score.texi
gas/doc/c-tic54x.texi に
@code expected braces
らしいので適当に追加
./c-arc.texi:223: command @bullet not accepting argument in brace should not be on @table line
よくわからんけど、
gas/doc/c-arc.texi:223 の
@table @bullet
を
@table @code
にした
./c-arm.texi:401: command @bullet not accepting argument in brace should not be on @table line
うえとおなじ
./c-arm.texi:477: node `ARM Floating Point' lacks menu item for `ARM-Relocations' despite being its Up target
そことその下を@@ にして、22行目のメニューからARM Floating Point を削除

gcc

../../gcc/doc/invoke.texi:5644: @itemx must follow @item
sed -i -e 's/@itemx/@@itemx/' gcc/doc/invoke.texi

newlib

rx-elf-gcc -B/home/nona/build/newlib-1.20.0-20121219/rx-elf/newlib/ -isystem /home/nona/build/newlib-1.20.0-20121219/rx-elf/newlib/targ-include -isystem /home/nona/build/newlib-1.20.0-20121219/newlib/libc/include -B/home/nona/build/newlib-1.20.0-20121219/rx-elf/libgloss/rx -L/home/nona/build/newlib-1.20.0-20121219/rx-elf/libgloss/libnosys -L/home/nona/build/newlib-1.20.0-20121219/libgloss/rx    -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"1.20.0\" -DPACKAGE_STRING=\"newlib\ 1.20.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I../../../.././newlib/libc/argz -ffunction-sections -fdata-sections  -DMISSING_SYSCALL_NAMES -fno-builtin      -g -O2 -c -o lib_a-dummy.o `test -f 'dummy.c' || echo '../../../.././newlib/libc/argz/'`dummy.c
/home/nona/local/rx-tools/bin/rx-elf-gcc: 行 498: 対応する `)' を探索中に予期しないファイル終了 (EOF) です
/home/nona/local/rx-tools/bin/rx-elf-gcc: 行 5038: 構文エラー: 予期しないファイル終了 (EOF) です

うーん って感じ まだ未解決

GR-SAKURA が部室にあったので遊んでみた。

さいしょに

オンラインコンパイラ があるのでとりあえず試す。

さくら用テンプレートを選んでとりあえず、build。 左のほうのエクスプローラっぽいところにsketch.bin が表示されるので、右クリックのちダウンロード。 さくらをUSB で繋いで、赤いボタンを二回ほど押せば、USBデバイスとして認識されたので、ダウンロードした。sketch.bin を書きこむ。 実行が始まるっぽい。

テンプレートはLED がウェーブしてるのっぽい。

なんか

void setup() 関数が初期化の一回のみ呼ばれるもので、void loop() がループするものらしい。 loop() が処理を戻さないと(while(1) なんかで中で無限ループしてたりすると) 不幸が起こるってことがヘッダを読んでたら書いてあった。

シリアル通信

Serial.begin(9600); をsetup() で呼ぶとPC とのシリアル通信をすることができる。 Serial.println() を使ってシリアルに書きこむことができる。 Serial.println(); には文字リテラルと数字は渡すことができた。 他にも渡せるものもあると思う(ちゃんとドキュメント読めって感じだ)。

Serial.setDefault() をsetup() で呼んでおくことで、printf() でもシリアルに出力できるらしい。(serial.h に書いてあった) 最初printf("hoge"); して何も出ないなーと思っていたら、printf() は改行が来るまでバッファしているらしい。

/dev/ttyACM0 に見えてるので、

$ cat /dev/ttyACM0

でsakura 側で書いたものが見えた。

rx-elf-gcc

オンラインコンパイラで毎回build するのは面倒だなーと思っていたら、makefile を眺めていたらrx-elf-gcc でクロスコンパイルできるらしい。 クロスコンパイル環境整えたいけど、AUR のrx-elf-gcc はbuild できなかったので、自分でビルドしないとなー って感じだ。

HTTP API

API が存在して、 これを使ってAPI 経由でWeb Compiler を使えるっぽい。 手元でビルドする環境を簡単に整えられないならこっちだけでがんばってもいいかも

ビルドもこれでできるので、いい感じのelisp でも気が向いたら書きたい。

過去のページ Page 33 of 38 未来のページ