2

Zynq ボードでアプリケーションの開発を開始します。私の仕事は基本的に、デュアル コア ARM の Microblaze で実行されている既存のアプリケーションを移植することです。

私はこの分野での経験がまったくないので、新しいシステムでどの OS を使用するかについて疑問に思っています。主に4つのアプローチがあるように私には思えます。

1) Petalinux (両方のコアを使用)

2) Petalinux+FreeRTOS (両方のコアを使用)

3) FreeRTOS (コアのみ使用)

4) ベアメタル (コアのみを使用)

私のアプリケーションは、イーサネットと複数のカスタム リンクの間で大量のデータを移動する必要があるため、多くの割り込みを処理し、多くの DMA 操作を命令する必要があります。

ベアメタルまたは FreeRTOS に関して、割り込みサービスで Petalinux によって導入されるオーバーヘッドはどのくらいですか? この種の作業では、OS なしで実行するシングル コア アプリケーションや、たとえば OS (およびセマフォやミューテックスなどの同期メカニズム) のオーバーヘッドを持つ Petalinux アプリケーションの方が高速だと思いますか?

質問が正確ではなく、非常に漠然としていることは承知していますが、この分野での経験がないため、最初のヒントが必要です。

ありがとうございました。

4

2 に答える 2

1

通常、パフォーマンスはそれほど変わらないはずです。適切に最適化されたコンパイラで Linux をコンパイルすると、ベア メタルに比べて高速になる可能性が高くなります。

しかし、ハードなリアルタイムが必要な場合、Linux は適していません。

アルテラからの優れたホワイトペーパーがありますが、ザイリンクスにも適合するはずです: リアルタイム ジッターに関するホワイトペーパー

于 2016-06-27T10:36:18.480 に答える