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