FFTW on BeagleBoard

というわけで、ようやく少しずつ本編。
BeagleBoard 上で GNU Octave を動かす野望? があるので、まずは NEON で動く FFTW のビルドなど。
以下を見たけど、ちょっと情報が古い感じ。かつ、x86Linux 上でクロスビルドしようと思ったけど、うまく動かん。(これは、私の手違いかも)

しょうがないので、なんと BeagleBoard 上でネイティブビルド!! 時代は贅沢? になったものです。こんなちっぽけなボード上で ./configure && make できるようになるなんて。きっと、私が学生時代の SPARCstation より速いのではないかと。(遠い目)
まずは、http://www.fftw.org/download.html で最新版の 3.3.4 を入手。んでもって、ネイティブで

$ ./configure --prefix=/usr --enable-single --enable-shared --with-pic --enable-neon
$ make

いま、make check ちう。

--------------------------------------------------------------
         FFTW transforms passed basic tests!
--------------------------------------------------------------

やったぜ、カトちゃん!

がーん

apt-get で Octave を入れて fft() を測定し、NEON 版の FFTW を入れて再測定したが、変わらない感じ〜。
strings でライブラリを覗いてみたが、どうも、apt-get で入る fftw も、NEON 有効でビルドされているっぽい。あはは。
ちなみに、65536要素の複素 FFT で、0.1秒程度。十分に使えそうな気がする。。。

ALSA

alsamixer を立ち上げてみたけど、オーディオデバイスにアクセスできない。root だとできる。どうやってパーミッションを得るんだけ?
どうも、audio グループに属していないとダメなんだ。もう忘れた。

yokoyama@arm:~/tmp$ ls -l /dev/snd/
total 0
drwxr-xr-x 2 root root       60 Jan  1  1970 by-path
crw-rw---T 1 root audio 116,  4 Jan  1  1970 controlC0
crw-rw---T 1 root audio 116,  3 Jan  1  1970 pcmC0D0c
crw-rw---T 1 root audio 116,  2 Jan  1  1970 pcmC0D0p
crw-rw---T 1 root audio 116, 33 Jan  1  1970 timer

aplay で音が出ない

と思ったら、alsamixer であちこちがミュートになっているようだ。全部ミュート解除したら、音が出た!
それはいいんだけど、どこを開けばいいのか分からん! ヘルプないかなー。
参考: http://matsu-world.qee.jp/?p=551

libusb

とりあえず。入れてみただけ。

$ sudo apt-get install libusb-dev