TMS320C6000用行列ライブラリ
Texas Instrumentsの浮動小数点DSP TMS320C6713を使ってみようかと考えています。以前からSH4もやっているのですが、やはり汎用プロセッサだと色々とシステムが煩雑になりつつあるので、用途を特化した上でDSPもいいのではないかと考えている今日この頃です。
ということでこのDSPの開発環境や関連書籍を集めていたりしたのですが、ようやく実際にプログラムを走らせたりできるようになってきたので、その一部を紹介したいと思います。なお利用しているのは開発環境として純正のDSK(DSP Starter Kit)のTMS320C6713 DSKを、参考書籍としてCQ出版のインターフェイスの2006年増刊号『C++活用DSPプログラミング TechI vol.33』を活用しています。
このDSPですが、開発環境(Code Composer Studio)についてくるコンパイラがC++をサポートしているので、コーディング効率はなかなか良好です。ISO C++のフルサポートではないので、Expression Templateなどの高度な機能の利用や、iostream等のストリームサポートがないなど、一般的なC++に比べると見劣りしますが、基本的な部分はだいたい抑えられているのでDSPでできることは一通りC++で実装できると思います。
とりあえずDSP事始として、PCで利用している自作行列ライブラリを移植してみることにしました。この行列ライブラリ、uBlasなどの高度なパッケージに比べると低速で機能的にも見劣りしますが、なかなか移植性が高いので気に入って使っています。
移植は簡単に完了しました。exceptionがないのでassertを利用したり、複素数ライブラリの移植が未完なので固有値・固有ベクトル等の計算がまだできませんが、基本的な転置や逆行列、分解はできているので使い出はあると思います。動作は開発環境付属のシミュレータと実機の両方で確認しました。ソースを公開します。(バグフィックス版があります)
使い方ですが、
最後に。利用される方がいましたら、是非感想をお聞かせ願いたく思います。
※その後、恒例になりつつある基板設計をはじめました。
※※その後、バグが確認されましたm(_ _)m バグフィックス版をリリースしました。
コメント
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。