SOLID FAQs

FAQs

購入

SOLIDはArm用、RISC-V用両方に使用できますか。

はい、Ver.4.0.0 以降で、ArmとRISC-Vの両方に使用できます。
この場合、1つのサブスクリプション契約において、同じユーザがArmとRISC-Vの2種類のSOLIDライセンスを使用できるという意味です。
既にArm用にSOLIDをご使用されているお客様で、RISC-V用ライセンスのご使用をご希望される方は、当社営業までご連絡ください。追加ライセンスをご提供させていただきます。

SOLIDの販売形態、価格を教えてください。

SOLIDはIDE、コンパイラ、デバッガとオープンソースであるTOPPERSリアルタイムOSカーネルが組み込まれた開発プラットフォーム一式に対して、一年単位、ユーザー人数単位のサブスクリプションライセンス形式で販売します。
IDEだけ、コンパイラだけ、といったツール個別販売はしておりません。
1つのSOLIDライセンスで、32bit版/64bit版いずれにも、またシングルコア/マルチコアのいずれにも使用可能です。
また、1つのサブスクリプション契約において、ArmとRISC-V 両方のライセンスがご使用いただけます(SOLID Ver.4.0.0 以降)。
一年未満の契約、ユーザー人数に応じたボリュームディスカウントプランもご用意しています。
詳しくは当社営業またはこちらをご覧ください。

Microsoft Visual Studio(R) の商用ライセンスを購入する必要はありますか。(Ver.4まで)

SOLID-IDEはMicrosoft社のVisual StudioをベースにKMCが独自開発したIDE(統合開発環境)なので、Microsoft Visual Studioの商用ライセンスを購入いただく必要はありません。
SOLID Ver.5以降はVSCode互換のTheia IDEを採用しています。

使用環境

SOLIDが対応しているSoCやOSカーネルには何がありますか。

こちらに対応しているSoCのベンダー名、SoC名、動作確認をしたボード名および対応しているOSカーネル名の一覧を掲載しています。本リストに掲載されていないSoCや、RTOS構成につきましては、当社営業までお問合せください。

SOLID Starter Kit やSOLID評価版、ラズパイ用SOLIDで製品開発はできますか。

いいえ、SOLID Starter Kit やSOLID評価版、ラズパイ用SOLIDは所定の専用評価ボードでのみ利用できるパッケージであり、お客様が設計された機器での製品開発にはご利用いただけません。

Microsoft Visual Studio(R) のソリューションファイルやぷジェクトファイルと、SOLID-IDE のそれらには互換性はありますか。

SOLID-IDE のソリューションファイルやプロジェクトファイルは KMC が開発した独自のものなので、互換性はありません。

SOLID-IDE(Visual Studio)を同時に2つ以上起動して使用可能ですか。

はい、同時に2つ以上のSOLID-IDEを起動して使用できます。
デバッグする場合はターゲットを区別する必要があるため、ホストPCに複数台のPARTNER-Jet2(またはPARTNER-Jet3)本体を接続したうえで、標準ツール バー の 「PARTNER 」から、接続するPARTNER-Jet2(またはPARTNER-Jet3)本体のシリアル番号を各々指定してください。

SOLID Starter Kitに付属のPARTNER-Jet2を使って、別システムの開発は可能ですか。

いいえ、SOLID Starter Kit に付属のPartner-Jet2は同キットの評価ボード専用です。他のシステム開発にご利用いただくためには、デバッガライセンスを別途ご購入いただく必要があります。

既にMicrosoft Visual Studio(R) がインストールされているPCにSOLID-IDE をインストールしても問題ありませんか。

問題ありません。SOLID-IDEをインストールしたことにより、元々インストールされていたVisual Studioに影響を与えることもありません。

IDE

SOLIDのバージョンによる互換性はありますか。

はい、バージョンによる上位互換性があります。
注意すべき点としては、ツールチェーンのバージョンアップです。
SOLIDをバージョンアップしてもツールチェインを更新したくない場合は、ビルドが変更されないように以前のバージョンで使用していた古いツールチェーンを指定していただくことで、以前のバージョンで開発中のプロジェクトを継続して使用することが可能です。

静的解析機能とはどのような機能ですか。

ひとつは、CPUの実行トレース機能を利用してユーザープログラムの実行履歴を取得し、その情報を元に、
「関数タイミング」「呼び出し参照(コンテキスト別集計)」「ソースカバレッジ」「関数プロファイル、関数履歴」
などを表示・解析する機能です。当社のQProbeがこれに相当します。

もうひとつは、ユーザープログラムに解析専用のランタイム(SOLIDコアサービス)を埋め込んで、プログラムを実行しているときに実際にエラーとなる可能性がある箇所を、ランタイムが検出する機能です。デバッガと連携して不具合を解析する仕組みであり、アドレスサニタイザがこれに相当します。

Microsoft Visual Studio(R) の商用ライセンスを購入する必要はありますか。(Ver.4まで)

SOLID-IDEはMicrosoft社のVisual StudioをベースにKMCが独自開発したIDE(統合開発環境)なので、Microsoft Visual Studioの商用ライセンスを購入いただく必要はありません。
SOLID Ver.5以降はVSCode互換のTheia IDEを採用しています。

ツールチェイン

SOLIDが対応しているSoCやOSカーネルには何がありますか。

こちらに対応しているSoCのベンダー名、SoC名、動作確認をしたボード名および対応しているOSカーネル名の一覧を掲載しています。本リストに掲載されていないSoCや、RTOS構成につきましては、当社営業までお問合せください。

SOLIDのバージョンによる互換性はありますか。

はい、バージョンによる上位互換性があります。
注意すべき点としては、ツールチェーンのバージョンアップです。
SOLIDをバージョンアップしてもツールチェインを更新したくない場合は、ビルドが変更されないように以前のバージョンで使用していた古いツールチェーンを指定していただくことで、以前のバージョンで開発中のプロジェクトを継続して使用することが可能です。

静的解析機能とはどのような機能ですか。

ひとつは、CPUの実行トレース機能を利用してユーザープログラムの実行履歴を取得し、その情報を元に、
「関数タイミング」「呼び出し参照(コンテキスト別集計)」「ソースカバレッジ」「関数プロファイル、関数履歴」
などを表示・解析する機能です。当社のQProbeがこれに相当します。

もうひとつは、ユーザープログラムに解析専用のランタイム(SOLIDコアサービス)を埋め込んで、プログラムを実行しているときに実際にエラーとなる可能性がある箇所を、ランタイムが検出する機能です。デバッガと連携して不具合を解析する仕組みであり、アドレスサニタイザがこれに相当します。

動的解析機能とはどのような機能ですか。

ひとつは、CPUの実行トレース機能を利用してユーザープログラムの実行履歴を取得し、その情報を元に、
「関数タイミング」「呼び出し参照(コンテキスト別集計)」「ソースカバレッジ」「関数プロファイル、関数履歴」
などを表示・解析する機能です。当社のQProbeがこれに相当します。

もうひとつは、ユーザープログラムに解析専用のランタイム(SOLIDコアサービス)を埋め込んで、プログラムを実行しているときに実際にエラーとなる可能性がある箇所を、ランタイムが検出する機能です。デバッガと連携して不具合を解析する仕組みであり、アドレスサニタイザがこれに相当します。

C/C++言語の文法エラーは簡単に検出できますか。

SOLID-IDEのエディタを使ってコーディング作業中に文法エラーがあった場合、SOLID-コンパイラのチェックツールがバックグラウンドでそれを検出し、エディタ画面に表示する便利な機能(Intellisence checker)があります。ビルド操作をしなくてもこの機能は有効です。もちろん、ビルド時にも検出してレポートします。

SOLIDの静的解析とMISRA-Cルールチェッカの違いは何ですか。

SOLIDの静的解析は、プログラムが実行された場合に不具合となり得るコードを検出します。
一方のMISRA-Cルールチェッカは「不具合を起こしやすいコーディングの仕方を避ける」という目的で造られた規格に合致しているかを判定するツールです。プログラムに不具合が無くてもMISRA-Cルールチェッカでエラーになる場合があります。

SOLID Starter Kit をインストールしたのですが、ビルド操作をすると「ライセンスを取得できませんというエラーが表示されてビルドができません。

SOLID Starter Kitは必ず付属のPARTNER-JET2 デバッガと同時に使用してください。
ビルド操作を行うときは、PARTNER-JET2 デバッガをPCに接続し、デバッガの電源をONにしてください(ライセンスがPARTNER-Jet2本体に書き込まれているため)。

RTOS/ミドルウェア/ドライバ

SOLIDが対応しているSoCやOSカーネルには何がありますか。

こちらに対応しているSoCのベンダー名、SoC名、動作確認をしたボード名および対応しているOSカーネル名の一覧を掲載しています。本リストに掲載されていないSoCや、RTOS構成につきましては、当社営業までお問合せください。

SOLIDでFree RTOSの開発はできますか。

はい SOLID 2.2.0 以降、Free RTOSでの開発が可能です。Free RTOS対応コードをご入用の際は、当社までお問合せください。

対応しているFree RTOSのバージョンや機能については、こちらをご覧ください。

SOLIDに含まれるTOPPERSカーネルを使用して製品化をする場合の費用や留意点(利用報告)を教えてください。

SOLID-OSであるTOPPERSカーネルは、TOPPERSプロジェクトの活動趣旨に賛同されたうえで、無償で商用利用が可能です。
商用利用された場合は、お客様ご自身でその成果物をTOPPERSプロジェクトの利用報告ページ(TOPPERSプロジェクトのウェブサイトに移動します)に報告してください。

TOPPERSプロジェクトの利用報告をされる際に「開発成果物の選択」の箇所がありますので、こちらではお客様がご使用された
□TOPPERS/ASP3カーネル
□TOPPERS/FMPカーネル
□TOPPERS/FMP3カーネル
のいずれか、または両方を選択してください。

製品名や会社名は非公開の選択も可能です。

なおTOPPERSプロジェクトの利用報告内容に関しては、TOPPERSプロジェクトから当社に情報が通知されることはありません。またお客様から当社へのご報告も不要です。

MMUの利用方法に関して、SOLIDが従来の開発ツールと異なる点は何ですか。

MMUによるメモリ管理のためのプログラムをユーザーが作成するのではなく、SOLIDがメモリ管理プログラムを自動的に生成・実行するところが、従来のツールと最も異なる点です。

Linuxであれば、仮想アドレスで空間を多重化し、なおかつデマンドページングによって動的にメモリ割り当てを行うといった機能がありますが、RTOSの場合はリアルタイム性(再現性)を重視するので、空間の多重化は使用せず、SOLIDでは単一の大きな仮想アドレス空間にMMUを利用してプログラムを配置しています。
ユーザーによるSoCの構成に合わせた仮想アドレスの設定は、IDE側の簡単な操作をするだけ完了です。あとはSOLIDが自動的に生成するMMU制御プログラムが、RTOSカーネル、コンパイラ、デバッガやローダーなどと連携して動作する仕組みになっています。
また、何か問題が起きた時にプログラムがどうなっているかを確認するための、メモリマップデザイナー(物理空間のメモリ配置を表示する機能)もSOLID-IDEで用意しています。

RTOSカーネルのコンフィグレーションはどのように行いますか。

RTOSのタスクやセマフォなどの資源については、kernel_cfg.cを編集する事で変更できます。特に難しい変更は必要なく、資源の数やタスクのエントリなどをテーブルに設定するだけです。また、RTOSの大きな構成(FPU有効無効や資源動的生成ありなし)については、スターターキットでは、プロジェクト作成時のウイザードで、カーネル生成に必要な条件を選択するだけで、カーネル組込み済のプロジェクトが自動的に生成されます。

デバッガ

SOLIDが対応しているSoCやOSカーネルには何がありますか。

こちらに対応しているSoCのベンダー名、SoC名、動作確認をしたボード名および対応しているOSカーネル名の一覧を掲載しています。本リストに掲載されていないSoCや、RTOS構成につきましては、当社営業までお問合せください。

動的解析機能とはどのような機能ですか。

ひとつは、CPUの実行トレース機能を利用してユーザープログラムの実行履歴を取得し、その情報を元に、
「関数タイミング」「呼び出し参照(コンテキスト別集計)」「ソースカバレッジ」「関数プロファイル、関数履歴」
などを表示・解析する機能です。当社のQProbeがこれに相当します。

もうひとつは、ユーザープログラムに解析専用のランタイム(SOLIDコアサービス)を埋め込んで、プログラムを実行しているときに実際にエラーとなる可能性がある箇所を、ランタイムが検出する機能です。デバッガと連携して不具合を解析する仕組みであり、アドレスサニタイザがこれに相当します。

SOLID Starter Kit をインストールしたのですが、ビルド操作をすると「ライセンスを取得できませんというエラーが表示されてビルドができません。

SOLID Starter Kitは必ず付属のPARTNER-JET2 デバッガと同時に使用してください。
ビルド操作を行うときは、PARTNER-JET2 デバッガをPCに接続し、デバッガの電源をONにしてください(ライセンスがPARTNER-Jet2本体に書き込まれているため)。

SOLID Starter Kitに付属のPARTNER-Jet2を使って、別システムの開発は可能ですか。

いいえ、SOLID Starter Kit に付属のPartner-Jet2は同キットの評価ボード専用です。他のシステム開発にご利用いただくためには、デバッガライセンスを別途ご購入いただく必要があります。

アドレスサニタイザを使うメリットは何ですか。

従来の不具合解析では、プログラムの動作に何らかの異常が症状となって初めて不具合を認識し、その原因をたどっていくというスタイルです。言い換えれば単体テストでは問題無かったプログラムが、結合テストでメモリ資源をつぶし合って不具合が表面化してしまうような効率の悪いデバッグです。
アドレスサニタイザを使う最大のメリットは、異常が表面化していなくても、不具合となる動作が発生した瞬間に専用のランタイムが問題を検出できる点で、評価作業の効率を大きく向上させます。

アドレスサニタイザで検出できるエラーにはどのようなものがありますか。

アドレスサニタイザに代表される、「本来アクセスしてはいけない領域のメモリアクセスを検出する機能」があります。実際にはC言語仕様的に間違ったメモリアクセスを検出する、になります。宣言した配列のオーバーランや、2バイトの変数への4バイトアクセス、また二重freeなどです。

コアサービス

SOLIDのローダの特徴は何ですか。

プログラムの規模が大きくなってくると、修正の度にプログラム全体をビルド・ロードする時間が開発者の負担になってきます。そのため、開発対象モジュール単体だけをロードする仕組みを設けたのが、SOLIDのローダーの最も大きな特徴のひとつです。

この仕組みを使うことで、共同開発の現場で「他者のソースコードが無くても自分のソースコードだけを編集してデバッグできる」「バージョン管理がシンプルに行える」といった多くのメリットがあります。
詳しくはインテリジェントローダーの解説をご覧ください。

コアサービスとはどのようなもので、どのような機能がありますか。

「コアサービス」とは、当社がSOLID用に新しく作った一連のランタイムであり、主にターゲットのリソース(メモリ/MMU、割り込み、タイマ等)の管理と、ユーザーへの補助(ローダー、デバッグ)機能をつかさどっています。
コアサービスはターゲットシステムの一部に常駐しており、システムセットアップや動的解析機能を使ったデバッグ時など、必要に応じてIDEとも連携して動作するソフトウエアです。