6

私はオンラインで、外部デバイス用にWindows上でFreeRTOSを構築することが可能であると読みました。ubuntuでx86用にビルドできますか?

ありがとう

4

3 に答える 3

14

FreeRTOSを使用してX86で実行できることがいくつかあります。

1つ目は、CPU上のOSとしてFreeRTOSを実行することです。FreeRTOSはマイクロコントローラーを対象としているため、(公式に)リアルモード(16ビット)のみをサポートします。これは、以前はAMD、次に(現在は?)RDCによって製造されていたものなど、186ベースのマイクロコントローラーのようなもので実行している場合に有効です。コードは任意のX86で実行することもできますが、リアルモードでのみ実行でき、OpenWatcomなどのツールを使用したコアFreeRTOSコードの開発プラットフォームでした。同等のLinuxでホストされている16ビットコンパイラはわかりませんが、ある可能性があります。

X86でFreeRTOSを使用するもう1つの方法は、FreeRTOSシミュレーターを実行することです。それが行われると、FreeRTOSはCPUを実行しているカーネルではなく、WindowsまたはLinuxがCPUを実行していますが、WindowsまたはLinuxスレッドはFreeRTOSコードを実行しています。これは現在、コア開発作業を行うための好ましい方法ですが、これは単なるシミュレーターです。つまり、タイミングはいたるところにあり、シミュレートされた時間はリアルタイムよりもはるかに短くなります(Windowsのタイミング解像度と精度は比較して非常に低いため)リアルタイムシステムへ)。

WindowsシミュレーターはVisualStudio(無料バージョン)で実行でき、そのポートは維持されます。デモはあまり機能していませんが、MingWとEclipseでも使用できます。また、Eclipseの新しいバージョンにはいくつかの問題があると思います。

Linux FreeRTOSシミュレーターは寄贈された移植版であるため、コメントすることはできません。

Windowsシミュレーターページ: http: //www.freertos.org/FreeRTOS-Windows-Simulator-Emulator-for-Visual-Studio-and-Eclipse-MingW.html

Linuxシミュレーターページ: http: //www.freertos.org/FreeRTOS-simulator-for-Linux.html

よろしく。

于 2012-05-11T08:10:16.553 に答える
3

FreeRTOSポートのページによると、x86ビルドでサポートされているツールは次のとおりです。

  • Visual Studio 2010 Express
  • MingW
  • ワットコムを開く
  • ボーランド
  • パラダイム

したがって、あなたの質問に対する答えはノーのように見えます。

上記はすべてWindowsベースのツールであるため、UbuntuでWINEなどのエミュレーターを使用できる場合でも、FreeRTOSのx86バージョンをビルドするにはWindowsPCが必要だと思います。

于 2012-05-10T21:55:36.013 に答える
2

本格的なx86ベースのコンピューターでOSとして実行するFreeRTOSを構築する方法はわかりませんが、自分自身を知りたいです。

Linuxでfreertosをビルドして実行する方法

ただし、 Linux上でFreeRTOSシミュレーターを非常に簡単に実行できたと言えます。言うまでもなく、それがどれほど「リアルタイム」であるかについてはコメントできませんが(非リアルタイムのLinuxカーネル上で実行されるため、リアルタイムではないことを明示的に示しています)、構築と実行は非常に簡単です。 。

ここでソースコードを取得します:https ://github.com/FreeRTOS/FreeRTOS 。Linuxでシミュレータを構築して実行する方法は次のとおりです。

git clone https://github.com/FreeRTOS/FreeRTOS.git --recurse-submodules
cd FreeRTOS/FreeRTOS/Demo/Posix_GCC
make

今、それは構築されています。それを実行するには、次のようにします。

./build/posix_demo

それでおしまい!それは素晴らしい働きをします!そのデモプロジェクトは次のとおりです:https ://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS/Demo/Posix_GCC 。

次に、そのプロジェクトを自分で変更して、正確なニーズと目的に合わせてカスタマイズできます。開始するためのベースラインとして、そのデモから始めてください。これは、2つのタスク(スレッド)と、それらの間でデータを渡すためのスレッドセーフキュー(マルチプロデューサー/マルチコンシューマー互換)を備えた、すばらしい小さなデモです。

参考文献

  1. メインのFreeRTOSLinuxシミュレーターリファレンスページ:https ://www.freertos.org/FreeRTOS-simulator-for-Linux.html 。ビルドと実行の手順もここで確認できます。
于 2021-07-22T19:48:07.817 に答える