0

組み込み8ビットおよび32ビットマイクロコントローラー用のグラフィカルプログラミングIDEを作成するように依頼されました。LabVIEWを使用するのと同じくらい簡単である必要がありますが、デバッグやシミュレーションなどの機能は必要ありません(少なくとも今のところ)。基本的に、アプリケーションは、ユーザーが論理ゲート、while / forループ、caseステートメント、比較、フロー制御などを構成できるようにする必要があります。プログラムが終了したら、Cコードを生成し、接続されたマイクロコントローラーでプログラムをコンパイルして記述します。現在、AtmelおよびFreescaleプロセッサを対象としており、DIO、電流検出用のアナログIO、CANバス、PWM、およびおそらく私が見逃しているその他のプロセッサを使用する予定です。

これは開発に非常に長い時間がかかる巨大な事業だと思いますが、私の会社がハードウェアを購入するときに顧客に提供したいのはソフトウェアです。少しバックアップして背景情報を提供するために、当社はCANバスまたはスタンドアロンで動作するIOモジュールを構築しています。現在、PCBでマイクロコントローラーをプログラムする唯一の方法は、Atmel(AVR Studio)またはFreescale(CodeWarrior)のIDEを使用することです。問題は、顧客がCでプログラミングするためのノウハウを常に持っているとは限らないことです。それで...グラフィカルIDEに入ります。LabVIEWはお客様にとって高すぎるため、独自のLabVIEWを作成することに固執しています。

だから私の質問は:このIDEを作成するための良い方法は何ですか?これをC#/ WPFで開発することを計画していますが、ユーザーが作成したロジックをAtmel/FreescaleコンパイラでコンパイルできるCコードに変換するのはどれほど難しいのでしょうか。それとも、もっと良い方法がありますか?誰かがこのようなことをしましたか?

4

3 に答える 3

2

この要件は、IDE よりも C コードを生成するための 4GL/RAD 言語に似ているようです。

個人的には、Lua や TCL などのフットプリントの小さいスクリプト言語を使用して、C コードでいくつかのカスタム拡張機能を構築するという別のアプローチを提案します。顧客は、拡張ライブラリを使用して Lua または TCL でコーディングできます。

IDE 自体については、Eclipse プラグインの構築を検討します。ベースの Eclipse には必要なものの 90% が含まれており、プラグインのアーキテクチャは堅実で成熟しており、従うべき多くの例があります。

于 2011-05-27T02:44:36.700 に答える
0

かなり似たような問題がありました。私たちの目標は、UML ステート マシンから C または C++ コードを生成するグラフィカル モデリング ツールを作成することでした。このようなツールは非常に一般的であると思われるかもしれませんが、これらのツールは状態のネスティングを十分にサポートしておらず、組み込みマイクロコントローラーに十分に厳密な製品品質のコードを生成していないことが判明しています。

既存のグラフィカル ツールとの統合など、いくつかのオプションを比較した後、すべてを Qt (qt.nokia.com) で開発することにしました。後から考えると、ツールのあらゆる側面を制御できるため、この選択に非常に満足しています。

Qt フレームワークは、ユーザーがマウスで操作できる 2D グラフィカル シーンやグラフィカル アイテムなど、多くのインフラストラクチャを提供します。モデルをディスクに保存するための XML サポートがあります。また、スクリプト インターフェイスを公開する必要がある場合は、スクリプト エンジンが必要です。Qt を使い始めるのに非常に役立ったものの 1 つは、「Qt 4 を使用した C++ GUI プログラミング (第 2 版)」という本でした。

とにかく、私たちが作成したツールは無料でダウンロードでき、無料で使用できます (http://www.state-machine.com/qm)。

于 2011-06-01T15:00:27.230 に答える