0

アプリケーションはcortex-m3にインストールされたuclinux上で実行されていますが、今はuclinuxの代わりにfreertosをOsとして使用したいと考えています。

たとえば、クライアントがuclinux上にあり、サーバーがLinuxがインストールされたコンピューター上にあるtcpサーバークライアントアプリケーションを実行すると、うまく機能し、その逆も機能します

FreeRTOS の場合、IP スタックとして lwip を使用しています。アプリケーションと freertos および lwip がコンパイルされ、16 進ファイルが生成され、それを cortex-m3 に入れることができますが、実行するとサーバーとクライアントの間に通信がありません。

--->それで、私が行う必要がある特定の変更はありますか

uclinux 用の arm-uclinuxeabi-gcc ツールチェーンを使用 freertos 用の arm-none-eabi-gcc ツールチェーンを使用

4

1 に答える 1

0

これは非常にオープンな質問であり、あなたに多くの質問をすることによってのみ答えられる可能性があるため、代わりにアドバイスを提供します.

まず、問題を扱いやすい部分に分割することをお勧めします。自分の側で FreeRTOS を実行できることを確認することから始めます (多くのCortex-M の例、さらにはCortex-M の TCP の例、および RTOS の実行に問題がある場合に参照するための FAQ があり、すべて FreeRTOS で利用できます。組織の Web サイト)。

次に、ベア メタル アプリケーション (RTOS または OS なし) で、lwIP ドライバーがイーサネット ポートで送受信できることを確認します。

3 番目に、既知の動作中のイーサネット ドライバーを既知の動作中の FreeRTOS プロジェクトに追加し、イーサネット ドライバーがまだ動作していることを確認します (スタック オーバーフロー チェックのオン、configASSERT() の定義などに関して、FreeRTOS Web サイトの FAQ 項目に注意してください)。 .

lwIP コードの 4 番目のステッチ。マルチスレッド アプリケーションでスタックを使用するための lwIP の推奨事項に注意してください。

五等等

于 2016-06-14T10:56:41.613 に答える