SOLID概要

SOLID-IDE

SOLID Ver.5では IDEとして Theiaを採用しました。
Theia は Visual Studio Code(VS Code)と互換性のあるオープンソースのIDEフレームワークです。
VS Code の拡張機能用 API と互換性のある API を保持しているので、AIエージェント機能を含む VS Code 拡張機能を利用することで、IDE をカスタマイズし進化・強化させることが可能です。


SOLID-IDEとしての拡張機能

SOLID-IDEでは、プログラムの実行前段階の機能として以下の機能を追加しました。
● Clangコンパイラによる静的解析の結果表示
● Armターゲット用メモリマップデザイナ (プロテクション設定など)
● Release/Debugの他に、アドレスサニタイザ有効ビルドモードや、QProbe用ビルモードなどを追加
● ローダーとの連携 (MMUを活かしたOS連携機能)

またプログラムの実行・デバッグステージでの追加機能は以下のとおりです。
● サニタイザ対応 (バッファオーバーランしたところをハイライト表示など)
● モニタが検出する例外対応
● コンソール(VLINKの標準出力に対応)
● OSモニタ


メモリマップデザイナ

設定が煩雑なArm Cortex-A のMMUを、グラフィカルインタフェースで簡単に設定し、メモリを安全に使える機能です。
ビルド機能と連携し、自動的にセクションに応じたプロテクション(書き込み不可、実行不可など)を設定します。
リンカスクリプトとの連携しメモリ設定をします。
Arm Cortex-RのCPUコアにも対応しています。

 


メモリアクセス例外・リンカスクリプト連携

コンパイラが出力するメモリ属性情報に加えて、ユーザが指定したメモリ属性情報もSOLIDが自動的にMMUに設定します。
メモリアクセス例外が発生した瞬間にデバッガが実行手氏(ブレーク)し、アラーム表示により警告します。

 


AIエージェントを使った開発(IDE拡張機能)

Theiaプラットフォームは、AIエージェントの活用に対応しています。AIエージェントによりインタラクティブなチャット機能を使ったコード作成ツールの利用やコード補完、コンテキスト認識サポートといった、コーディング時の開発サポート機能を充実させることができます。

このようにSOLID Ver.5では、AIエージェント等のVS Code API互換の拡張機能を簡単に追加できる仕組みを標準で備えています。


SOLID Ver.4とVer.5 の違い

SOLID Ver.4以前ではVisual Studio Shell ベースのIDEであったのに対して、SOLID Ver.5以降ではTheiaベースのIDEを採用しているため、メニュー構造が変わっています。
下図はデバッグメニューの例です。
詳しくは、マニュアルのこちらをご参照ください。