マイクロコントローラー用のオブジェクト指向C ++ RTO
ホームページ
ドキュメント
ソースコード @ github
フォーラム
必要な歪みを構成して構築するには:
Distortosは、典型的なCmakeクロスコンパイルワークフローに従うことを試みます。つまり、いわゆるツールチェーンファイルを常に使用する必要があります。 Distortosのツールチェーンファイルも別の目的を果たします。アプリケーションで使用されるボードを選択します。
output 、ビルドフォルダーを作成します。cmake -C../configurations/ST_STM32F4DISCOVERY/test/distortosConfiguration.cmake .. -GNinja cmake .. -DCMAKE_TOOLCHAIN_FILE=../source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake -GNinja cmake -C../configurations/ST_STM32F4DISCOVERY/test/distortosConfiguration.cmake .. -GNinja保存された構成から開始する場合。cmake-gui .. (GUIアプリケーション)またはccmake .. ( cursesベースのアプリケーション)など、選択したツールを使用してdistortos構成を編集します。ninja -v表示したい場合はninja選択したビルドツールを実行します。ステップ1をgit clone https://github.com/DISTORTEC/distortosに明らかに置き換えることができます。
手順2-4はすべて、 cmake-gui内から行うことができます。アプリケーションを起動した後、 [ソース]を参照してください...ボタンを[Distortos]でフォルダーを選択し、ビルドを参照します...ボタンを[ビルド]フォルダーを選択します。次に、 [構成]ボタンをクリックします。表示されるcmakeSetupウィンドウで、選択したジェネレーターを選択し、さらに進む前にクロスコンパイルのツールチェーンファイルを指定することを確認してください。 [次へ]をクリックして、たとえば<source-folder>/source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmakeと[仕上げ]ボタンをクリックするなど、ツールチェーンファイル(ボードも選択します)を指定します。
ビルドのデフォルトターゲット-All-は、 Distortos libdistortos.aを備えた静的ライブラリです。テストアプリケーションを構築する場合は、ターゲットとしてdistortosTestを指定します(たとえば、 Ninjaを使用している場合はninja distortosTest )を指定します。
$ wget https://github.com/DISTORTEC/distortos/archive/master.tar.gz
$ tar -xf master.tar.gz
$ cd distortos-master
$ mkdir output
$ cd output
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake -GNinja
$ cmake-gui ..
$ ninja
または
$ wget https://github.com/DISTORTEC/distortos/archive/master.tar.gz
$ tar -xf master.tar.gz
$ cd distortos-master
$ mkdir output
$ cd output
$ cmake -C../configurations/ST_STM32F4DISCOVERY/test/distortosConfiguration.cmake .. -GNinja
$ cmake-gui ..
$ ninja
必要なボードを生成するには:
jinja2とruamel.yamlの両方をpip install jinja2 && pip install ruamel.yaml (またはpython -m pip install jinja2に続いてpython -m pip install ruamel.yaml )で簡単にインストールできますが、システムのパッケージマネージャーでも利用できる場合があります。
ボードジェネレーターscripts/generateBoard.py *.yamlファイルを入力として取得し、さまざまなボードファイルを含むフォルダーを生成します:ソースファイル、ヘッダー、 cmakeファイル( cmakeツールチェーンファイルを含む)など。入力*.yamlファイルは、ボードのような形式のボードハードウェアを説明します。このアイデアは、 Devicetreeに非常に近く、実際にはボードジェネレーターの以前のバージョンはDevicetreeファイルを使用しています。
ボードYAMLファイルの形式に関するアイデアを取得するには、既存のファイルの一部をご覧ください。たとえばsource/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml -ST-またはST-またはSTM32F4DISCOVERYボードを説明します。 source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yamlこのボードで使用されるSTM32F407VGチップを説明しています。 documentation/yaml-bindingsにはYAMLバインディングに関するドキュメントもいくつかあります
プロジェクトの一部として、またはスタンドアロンフォルダーとして既にDistortosを持っていると仮定すると、ボードジェネレーターの基本的な呼び出しはpath/to/distortos/scripts/generateBoard.py path/to/board.yaml ./scripts/generateBoard.py source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yamlまたはpython path/to/distortos/scripts/generateBoard.py path/to/board.yaml )です。 ./scripts/generateBoard.py source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml 。また、chip yamlファイル./scripts/generateBoard.py source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml -o output/path/of/raw/board入力として直接使用して、いわゆる生のボードを生成することもできます。