こんにちは、
Fusion Library 5.0 について次の質問があります。
1) Systick は 9 軸融合の場合 53 を示します。9軸融合機能には(53/120MHz)==0.44uSが必要ですか?一度実行しますか?
2) 融合タスクはサンプリングタスクよりも優先度が低いため、サンプリングタスクによって割り込まれます。ACC の読み取りに必要な時間をテストしたところ、約 237uS でした。融合タスクがサンプリングタスクによって中断された場合、systick はさらに長くなるのでしょうか?
3) 私のプロジェクトでは MQX を使用していません。データ サンプリング、融合、MAGCal に PIT0/1/2 を使用しています。PIT0 の優先度は PIT1/2 よりも高くなります。PIT1 の優先度は PIT2 よりも高くなります。
9 軸融合機能を呼び出すと、約 1.6 ミリ秒かかりますか?なぜそんなに大きな違いが出るのでしょうか?
ありがとうございます
クリスティ
それでいいでしょう!謎が解明されてよかったです。
Mike
こんにちは、Mikeさん
理由が分かりました。最適化を行うには、-O0 ではなく -O3 を使用する必要があります。今ではデモ プロジェクトとほぼ同じです...
ありがとうございます
クリスティ
こんにちは、Mikeさん
1) 私の間違いです。K-ticks では測定時間は妥当です。
2) あなたのデモ プロジェクトと自分のプロジェクトの間のタイミングを測定します。
-----私のプロジェクトでのサンプリング時間は約 1183uS===7100/60MHz です。
-----私のプロジェクトでの9軸データ融合==1600uS==95700/60MHz、あなたのデモプロジェクトでは==442uS
-----私のプロジェクトでの6軸GBデータ融合==317uS==19000/60MHz、あなたのデモプロジェクトでは==94uS
-----私のプロジェクトでの9軸GYデータ融合===96uS==5750/60MHz、あなたのデモプロジェクトでは==25uS
両方のプロジェクトのすべての機能は正常に動作しています。データ融合の結果にパフォーマンスの違いがあると思いますか?
3) KDS 3.0.0を使用していますKSDK 1.2.0 を使用して独自のプロジェクトを開発しました。両方のプロジェクトは同じデモ ボード上で実行されています。私のプロジェクトでは、コアに 120 MHz、BUS クロックに 60 MHz を使用しています。PIT0/1/2には60MHzを使用しています。時間を測定するために PIT0 ティックを使用しています。私の測定時間はデータ融合機能のためだけです。
2 つのプロジェクト間の CPU フローティング設定または数学ライブラリの違いに関連している可能性がありますか?
ありがとうございます
クリスティ
クリスティ、
順番に:
Mike