質問

いツールおよび技術の試作(仮想試作)、シミュレーション、および試験に深く組み込みのCコードをWindowsデスクトップを含む組込みリアルなフロントパネルのボタン、Led、液晶ディスプレイ(グやグラフィック).

私が特に興味のある低レベルのアプローチを用い、純粋なCコードの原Win32APIではなくMFC,.ネスレッドセーフで、C#、vxWidgets Qt.また、利用無料開発ツールなどのサンプルシミュレーションの表現プラットフォームSDK、ResEditに編集できます。

私のコード例で描画するグラフィックLcd(モノクロ-24-bitカラー)との効率的なピクセルレベルのインタフェース、マルチセグメントLcd、オーナーと描かれたボタンの対応ともに"不況"および"を公開します。

役に立ちましたか?

解決

驚いている私の質問が多くの誤解や副作用にコメントなし。この戦略の開発に深く組み込み、Cのコード片の機械(例えば、PCの稼働す(組み込みマイコン)"と呼びューション-ターゲティング"と、そのものは非常に一般的です。例えば、開発-試験に深く組み込みコードをパソコンの礎と最近の著書"テスト駆動開発のための埋め込C"よりジェームズ-Grenning.

を避けるハードウエアボトルネックのデュアルを対象に

※デュアルを対象にはないことを意味しない埋め込み装置といいをコントロールします。もしこのシミュレーションが必要サイクルを正確に組み込み対象のCPUを搭載しています。

デュアル対象になるから、埋め込みコード(通常はC)を少なくとも二つのプラットホーム:最終的な目標のハードウェアおよびパソコン等に保存します。すべての必要な情報であることは二つのCコンパイラでコンパイル:一つのPCを他の組み込み装置です。

しかし、デュアル対戦略が必要なものがある特定の設計、組込みソフトウェア等のハードウエアに依存して取り扱いにどのように定義されたインタと呼ばれる委員会の支援パッケージ(BSP).このインタフェースは少なくとも二つの実装:の実際のターゲットとPCのは、例えば走ります。などのインタフェースの場合、埋め込みコードでは全く知るBSPの実装では、その発展できる素早くPC上のものを運営することも可能で、目的のハードウェア なく変更.

一部組み込みプログラマーでビューション-ターゲティングを、自己負担、経験を積んだデベロッパーには一般に同意することに注意を払うの境界ソフトウェアやハードウェアが実際に有益な結果によりモジュール、携帯、保守性ソフトウェアいます。の投資のデュアルを対象にも即時返済を大幅に加速さをコンパイル-実行-デバッグサイクルするよりも生産性の強PCと比べても遅くなり、ノンリコースをより深く組み込み対象を限られた視認性の走行のコードです。

フロントパネルWin32GUIツールキット

開発時の埋め込みコードのためのデバイスの非自明なユーザインタフェースが多いので、ここの問題を代表する組込フロントパネルとしてGUIの要素をコントロールします。その問題点で共通とからスタートしたのは驚きで誰もここでするよう勧告することもありえ、既存の図書館やオープンソースプロジェクトが、プCのみのインターフェースの基本要素が、どのように液晶ディスプレイ、ボタン、Ledが付いています。こんな複雑ないによっておこなわれた組込み機器の開発者を再発明のこのホイールです。

だから、助けるために組み込み開発に興味が試作の組み込み機器Windowsを制作しました"フロントパネルWin32GUIツールキット"に投稿しているのでオンラインのセットアッププログラムのオープンソースのライセンスを参照 http://www.state-machine.com/win32).このツールキットだけに依存しての原Win32APIのCおよび現在のところ、以下の要素

  1. ドットマトリクス表示のためには、効率的で、ピクセル抗などのセンタレスグラフィカル液晶ディスプレイ、有機el(Oled)など。最大24ビットカラー

  2. セグメント表示のための分割表示などのセグメントLcd、セグメントLedセージ、カスタムビットマップのセグメント

  3. オーナーと描かれたボタンのカスタム"低"と"公"ビットマップときに生成する別個のイベントが沈む時に発売されます。

のツールキットが付属とえば、アプリの注を参照 http://www.state-machine.com/win32/AN_Win32-GUI.pdfで、取り扱い方からの入力のオーナーの描きのボタンで、通常のボタン、キーボード、マウス。またアニメデモで http://www.state-machine.com/win32/front_panel.html.

についての規模と複雑さを"フロントパネルWin32GUIツールキット"の実施上記のGUI要時間は約250ラインのようなリスクがあるというの例ではすべて源の入力および多くのコメント量を約300線のようなリスクがあるというのツールキットについての無料Visual C++2010ExpressにExpress EditionプラットフォームSDK)、無料ResEdit資源のです。

楽しめます!

他のヒント

あなたのコメントの説明に言及しているアプライアンス質問には、Windows PCを使用することは決してないでしょう。そのため、低レベルのWindowsプログラミングはその場合の要件ではありません。実際、私は望ましくないと思います。プロトタイピングは速度についてです。潜在的な投資家や上級管理やその他の意思決定者を表示するために、どれだけ速く何かをまとめることができるかについてです。

プロジェクトの要件が最終的なプロジェクト成果物の絶対的な要件だったことを知っているのを十分に洗い流すまで、低レベルCとWin32 APIで余分な時間を過ごしたくない( / PC)。監視ツール?)。それまであなたは開発のスピードが欲しいです。あなたのためにラッキー業界は、あなたが説明するようなハードウェアの迅速なプロトタイピングと開発のためのツールを持っています。

組み込み開発によるプロトタイピングのための私の好み

開発者としての私の意見は、私はすでにMicrosoft .NET開発者であり、たくさんの既存のスキルを転送することができるという理由だけで、.NET MicroFramework(.NETMF)が好きです。そこには、Visual C#Express 2010の下でC#を使用してFEZマイクロコントローラを使用してプロトタイプします(必要な限り無料)。その速い、簡単、あなたは数分でプロジェクトの中核に取り組んでいます。

開発者としての経験が異なる場合は、Core Skill Setを再利用することで、基本的な、Java、またはその他の言語を使用してプログラムされているマイクロコントローラを探すことができます。

あなたの質問に対処するBountyコメント

組み込みソフトウェアの驚くほど大きな部分を開発することができる 深く埋め込まれたターゲットではなく、デスクトップコンピュータで。この 「ターゲットシステムボトルネック」の回避率が向上する可能性があります 正しい場合は一桁の生産性。しかし、 デスクトップ上の組み込みソフトウェアを開発する、UIをシミュレートする必要があります。 ディスプレイなどのコンポーネント(セグメント化されます。 グラフィカル)、LED、ノブ、およびボタン。私はそのようなUIを探しています との統合のための簡単な統合のために、CでプレーンWIN32 APIで書かれたコンポーネント デスクトップウィンドウで開発およびテストされる埋め込みコード

私は4年以上、その部品時間を囲む長年にわたって、専門的に専門的に開発を専門としました。上記のものはやや真実ですが、それはあなたの時間やお金を節約することはありません。なぜ誰もがこの戦略の動機について混乱している理由です。プロトタイピングの時間を理論的に節約するこの会社のハードウェアデバイスのためのWindowsエミュレータを出すことを試みて何年も費やしました。それは常に痛みだったので、私たちがスケッチされたUI描画仕様から実際の開発にわたってストレートになった場合よりも多くの時間の仕事をエミュレートしようとしているのは何時間もの仕事を費やしました。エミュレータはハードウェア開発の背後に遅れており、ハードウェアがリリースされた後に6ヶ月以上の最新の機能をサポートしないことが多い。それは非常に少ない価値のための余分な仕事でした。

コアプロジェクト自体のコードを実際に書くよりも、再使用可能なWin32プラットフォームコードとハードウェアエミュレーションコンポーネントの開発をもっと費やします。これは、このエミュレータを提供するハードウェアベンダーにのみ、3番手の開発者の潜在的な開発者への「価値追加」ツールとして提供するが、新しいハードウェア設計をプロトタイピングすることは意味がありません。

現代開発環境FEZマイクロコントローラを備えたExpress 2010がコンパイルでき、プロジェクト出力をマイクロコントローラにプッシュしてから、低いまたはより速いのようにデバッグを開始して、コンパイルして低く実行できるようにします。 LCDやLEDまたはスイッチなどのCのレベルのWindowsアプリ...それで、「大きさの順序で生産性を向上させる」は、モダンなツールではもはや真実ではありません。 (最後の10歳以上の前にあったかもしれません。)

本当に、本当にPC上で組み込みハードウェアを視覚的にシミュレートしたいだけで、Adobe Flashのようなものを使用してUIをモックアップします。しかし、プロトタイプの最後のデバイスがWindowsを実行している場合は、Windowsをコーディングすることでコードを複製しないでください(たぶんそれはそれを言わなかった)。今日入手可能な最速の最も信頼性の高いプロトタイピングツールを使用します。これは、低レベルCとWin32 API!

です。

電子機器のためにStackexchangeを使用することが多い?

これは開発指向の場所であるため、特定の組み込みハードウェアのメリットについての議論は本当に適切ではありません。プロトタイピングのためにマイクロコントローラエレクトロニクスの使用をリフォーカッションすることにした場合( arduino fez propeller 基本スタンプ Pololu など)

>電子機器のためのStackexchange 。これらのプラットフォームのほとんどは、概説したようにLCD、LED、ボタン、およびインターフェースのプロトタイピングを容易にするように設計されていると言っています。通常、いくつかの事前に構築されたモジュールを数分で組み立てることができ、プロジェクトのコーディングを開始する準備ができています。巨大な時間の節約はここにあります。

あなたが見て@ Proteusを見にくくする必要があまりにも求めています。 http://www.labcenter.com/products/vsm_overview.cfm

Mahmoudが言ったように、あなたは Proteus Professional 。それはプロトタイピング、シミュレーション、コーディングのための人気のあるソフトウェアの1つです。"> Proteus Professional を無料でダウンロードしてマニュアルを確認してください。

頑張って

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top