Electronics Information Service

組込みシステム技術者向け
オンライン・マガジン

MENU

SOLUTION

京都マイクロコンピュータがSOLIDソフトウェア開発環境をアップデート、QEMU仮想マシンを同梱し提供開始

2021.8.6  5:17 pm

京都マイクロコンピュータ株式会社は、2021年8月5日からKMCのリアルタイムOSベースの組込みソフトウェア開発プラットフォームSOLIDにQEMU仮想マシンを同梱した、アップデート版の提供を開始したことを発表します。
   
SOLID-IDEとQEMU仮想マシンの統合
KMCは、RTOSを含んだ組込みソフトウェア開発プラットフォーム“SOLID”を2018年より提供開始しており、現在多くのお客様にご使用いただいています。このSOLIDに「Windows®PCだけでビルドから実行まで完結できる」ことを実現するため、SOLIDを構成する開発環境にQEMU仮想マシンを追加・同梱して提供することになりました。SOLIDにQEMU仮想マシンを同梱することにより、ターゲットボードなどがなくても、PC上でSOLID-OSやSOLID開発プラットフォームの様々な機能を体験することができます。また、SOLIDが提供する実行時デバッグ機能もQEMU仮想マシン上で使用できるので、開発製品ファームウェアの単体デバッグなど、初期段階のデバッグに有効です。
   
QEMUとは
QEMUは、オープンソースプロジェクトにより開発・運用管理されている汎用的なCPUマシンエミュレータであり、x86, Power-PC, Arm®プロセッサやRISC-Vプロセッサ向けなど、多くのCPUの仮想化に対応しています。また近年では、PC上でArmCPU 用Android機器開発を行うためのSDK にQEMUが採用され、QEMUの性能が大幅に向上しました。QEMUの仮想化の特徴は、基本的なインタプリタ実行だけでなく、中間コードとJITによる動的コンパイルで、比較的高速に実行できる点です。
KMCでは2007年からQEMUの社内利用を開始し、Visual Studio® 上で顧客仮想ハードウェア環境を構築するツール“HARVEST” のリリース(2008年)、デバッガとの連携など、QEMUに関する製品の提供実績があります。
    
SOLID版QEMU仮想マシンの仕様
SOLIDでは、次のようなQEMU仮想マシンを提供します。
・Windows用にビルドしたバイナリのQEMUARMを同梱します。
・対象のプロセッサ
Arm®v7-Aアーキテクチャ:Arm®Cortex®-A9 プロセッサ
(シングルコア/デュアルコア)
Arm®v8-Aアーキテクチャ:Arm®Cortex®-A53プロセッサ
(シングルコア/デュアルコア)
・RTOSを動作させるためのハードウェア
  メモリ
  GICv2(割り込みコントローラ)
  Timer(ArmGeneric Timer)
  UART(ArmPL011)
また、対象となるリアルタイムOSは現在リリースされているTOPPERS/AMP3、TOPPERS/FMP、TOPPERS/FMP3 に全て対応します。
    
QEMU仮想マシンを使ってできること
QEMU仮想マシンには、上記のようにプロセッサ、割り込みとタイマが含まれているので、RTOSのAPI仕様に従って作成されたモジュール(タスク)が実ハードウェアと同様に起動・遷移していく様子が確認できます。
さらに、実ハードウェアが無い場合、デバッグ手段はSOLIDの静的解析機能である文法チェックや構文解析などの利用に限られていましたが、QEMU仮想マシンを利用することで以下のような実行時デバッグも可能となります。
    
・MMU自動設定機能を利用したスタックオーバーフローなどのメモリ領域不正アクセス自動検出や、読み出し専用領域への不正書き込みアクセスの自動検出
・アドレスサニタイザ機能による、配列オーバーなどのメモリアクセスバグの自動検出
・コードカバレッジ表示、関数トレース表示
・ローダー機能を使った、多拠点で開発されたアプリを結合した実行モジュールの構築とデバッグ
・プロセッサの内部リソースを含むトレース情報の取得および解析
    
SOLID IDEからは1アクションでQEMUが簡単に起動でき、QEMUのコンソール表示画面に仮想マシンのUART出力が表示できます。

京都マイクロコンピュータがSOLIDソフトウェア開発環境をアップデート、QEMU仮想マシンを同梱し提供開始
QEMUコンソールで仮想ハードウェアUART出力表示を確認する

QEMU仮想マシン同梱版SOLIDの提供方法
SOLIDVer.2.1以降、標準機能としてQEMU仮想マシンが同梱されます。既にSOLIDのライセンス契約をしてご使用中の方は、追加費用無しでバージョンアップすることでQEMU仮想マシンがご利用できるようになります。
なお、ハードウェア仕様決定とソフトウェアの評価を平行して進めなければいけない場合や、高価な評価ボードを開発者の人数分用意することが現実的ではない場合には、QEMU仮想マシンをカスタマイズして、評価ボード相当のものを構築することが可能です。そのために次の2つの方法をご用意していますので、併せてご検討ください。
   
(1)KMC製QEMU SDK(有償にて提供)
Windowsで独自の仮想ハードウェアを開発するためのフレームワーク、ドキュメントや仮想ハードウェア開発のための技術サポートを提供します
(2)仮想ハードウェアの開発受託開発内容に応じて個別にお見積