サンプルプロジェクトの実行

ここでは、AArch64用のタスク切り替えサンプルプロジェクトについて、実行までの流れを解説します。

注釈

ここで説明しているは、SOLIDの機能を試していただくサンプルとして実装されたものです。厳密なテストや、パフォーマンスのチューニングなどは行っておりませんので、動作保証の対象外となります。


ファイルの取得

シミュレータ環境で実行可能なサンプルプロジェクトを実行するには、ダウンロードサイトから以下のファイルを取得してください。

  • solid-os-<numbers>-aarch64-qemu-<日付>.zip (AArch64用)

また、ファイルを展開すると、下記のようなサンプルプロジェクトが boards\qemu-virtmini ディレクトリ内に同梱されています。

シングルコアOS (TOPPERS/ASP3) サンプル:

  • タスク切り替えサンプル
    • qemu-virtmini-sample-asp3-demo-task-aarch64-S

  • SOLID独自形式ローダブルサンプル
    • qemu-virtmini-sample-asp3-demo-loader-aarch64-S

  • DLL形式ローダブルサンプル
    • qemu-virtmini-sample-asp3-demo-dll-aarch64-S

マルチコアOS (TOPPERS/FMP3) サンプル:

  • タスク切り替えサンプル
    • qemu-virtmini-sample-fmp3-2CPU-demo-task-aarch64-S

  • SOLID-OSの動機通信資源を使用したサンプル
    • qemu-virtmini-sample-fmp3-2CPU-test-rtos-res-aarch64-S

ここでは、AArch64用の qemu-virtmini-sample-fmp3-2CPU-demo-task-aarch64-S を使用します。


ソリューションのビルド

ソリューションファイル qemu-virtmini-sample-fmp3-2CPU-demo-task-aarch64-S を開き、ビルドしてください。

../../_images/qemu-sample-build.png

デバッグの開始

デバッグ実行を行うには PARTNER QEMU Debug Engine ボタンを押下します。自動的にQEMUシミュレータが動作し、デバッグ実行を開始します。 あらかじめブレークポイントを設定しておけば、そこで停止します。

../../_images/qemu-start-debugging.png

サンプルの動作について

  1. 初期タスク (root_task) が、子タスク (child_task) 4個を動的に生成し、開始します

  2. 子タスクは自分の処理が完了したら、イベントフラグを設定します

  3. 初期タスクは子タスクからのイベントフラグを待っており、全てのタスクが完了すると、全ての子タスクを削除します


デバッグ実行の様子

../../_images/qemu-debugging1.png