- ベストアンサー
h8/3052でsin,cos関数を使うためには?
現在h83052を用いて光量センサの値を測定するプログラムを作成し、完成するまでに至っています。その測定結果から、h8でついでにフーリエ展開した係数の結果まで表示するように現在プログラムを改良しています。 フーリエ展開の計算過程にはsin,cos関数を使用する必要があり、コンパイルのところで算術演算関数用ライブラリlibm.aをリンクする必要があります。このライブラリlibm.aというのは、クロスコンパイル環境を構築するときにインストールしたnewlibの中に含まれていると思ったのですが、h8用に構築したlibディレクトリ内にlibm.aファイルがありませんでした。構築の際に失敗したのか、もともとほかのlibm.aファイルを使用するのか、よくわかりません。 おそらく、h8用にインストールしたものを使用しないとコンパイルの際のシンボルがうまくあわないと思うので、困っているのですが・・・ どなたかわかる人がいらっしゃればよろしくおねがいします。 簡単なようで難しい感じになっています。
- みんなの回答 (4)
- 専門家の回答
お礼
いつもありがとうございます。助かります。 構築の際にtargetで指定した場所にlibディレクトリはあるのですが、libmのファイルがなかったんです。。。 もう一度、newlibの構築を行ったら、できました。 gcccore-3.4.6のインストールの際についでにnewlibのインストールも行いましたが、--with-headersがついていなかったのかもしれません。 それで、算術演算関数ライブラリをリンクすることができ、フーリエ変換できるようになりました。 今度はSCI受信の機能を使用して、フーリエ変換で使用する基本周期などの値を入力できるようにしたいです。受信はできるようになりました。(エコーバックで確認)しかし、その受信した値をどのようにしようかというところで少しつまずいてしまっています。 1文字受信→配列に格納→格納した値をアスキーコードからバイナリコードに変換→各位になるように計算して基本周期として格納 こんな感じでいいでしょうか。 つまずいているところは、受信しているときに今のところ無限ループにしているので、どのように終わりにするかということです。