xilkernel を使用して、ザイリンクス microblaze でスリープ機能を使用せずに関数の計算時間を 1 秒に短縮する方法を見つけようとしています。
したがって、計算時間を 1 秒に増やすには、単純な for ループで何回反復する必要があるかを知ることができますか?
xilkernel を使用して、ザイリンクス microblaze でスリープ機能を使用せずに関数の計算時間を 1 秒に短縮する方法を見つけようとしています。
したがって、計算時間を 1 秒に増やすには、単純な for ループで何回反復する必要があるかを知ることができますか?
これを確実かつ正確に行うことはできません。このようなボッジを行いたい場合は、特定のシステムに合わせて自分で調整する必要があります。Microblaze は非常に構成可能であり、正解は 1 つではありません。ひどい方法は次のとおりです。
GPIO ペリフェラルをセットアップし、ピンの 1 つを '1' に設定し、1000 回の繰り返しのループを実行します (コンパイラーが最適化しないように注意してください!) ピンを '0' に設定します。そのピンにスコープをぶら下げて (組み込みシステムで作業しているので、スコープはありますよね?)、ループの実行にかかる時間を確認します。
しかし、それを行う正しい方法は、ハードウェア タイマー ペリフェラルを使用することです。非常に単純なレベルでも、関数の開始時にタイマーをクリアし、最後に 1 秒に相当する値に達するまでポーリングすることができます。これにはまだいくつかの不完全性がありますが、1 秒にどれだけ近づける必要があるかを指定していないことを考えると、おそらく十分です。