Embedded-systems-es-tools
組み込みシステム-ツールと周辺機器
コンパイラとアセンブラー
コンパイラ
コンパイラは、プログラミング言語(ソース言語)で記述されたソースコードを別のコンピューター言語(通常はバイナリ形式)に変換するコンピュータープログラム(またはプログラムのセット)です。 変換の最も一般的な理由は、実行可能プログラムを作成することです。 「コンパイラ」という名前は、主に、ソースコードを高レベルプログラミング言語から低レベル言語(アセンブリ言語やマシンコードなど)に翻訳するプログラムに使用されます。
クロスコンパイラ
コンパイルされたプログラムが、コンパイラがプログラムをコンパイルしたコンピューターとは異なるCPUまたはオペレーティングシステムを持つコンピューターで実行できる場合、そのコンパイラーはクロスコンパイラーと呼ばれます。
デコンパイラ
プログラムを低レベル言語から高レベル言語に翻訳できるプログラムは、逆コンパイラーと呼ばれます。
言語コンバーター
さまざまな高水準言語で書かれたプログラムを翻訳するプログラムは、通常、言語翻訳者、ソースからソースへの翻訳者、または言語コンバーターと呼ばれます。
コンパイラは、次の操作を実行する可能性があります-
- 前処理
- 構文解析
- セマンティック分析(構文指向翻訳)
- コード生成
- コード最適化
アセンブラー
アセンブラーは、基本的なコンピューター命令(アセンブリー言語と呼ばれる)を受け取り、コンピューターのプロセッサーがその基本操作を実行するために使用できるビットのパターンに変換するプログラムです。 アセンブラは、アセンブリ命令ニーモニックをオペコードに変換し、シンボル名をメモリ位置に解決することにより、オブジェクトコードを作成します。 アセンブリ言語はニーモニックを使用して、各低レベルのマシン操作(オペコード)を表します。
組み込みシステムのデバッグツール
デバッグは、コンピュータープログラムまたは電子ハードウェアのバグを見つけて減らすための体系的なプロセスであり、期待どおりに機能します。 サブシステムが密結合している場合、デバッグは困難です。1つのサブシステムにわずかな変更を加えると、別のサブシステムにバグが生じる可能性があるためです。 組み込みシステムで使用されるデバッグツールは、開発時間とデバッグ機能の点で大きく異なります。 ここでは、次のデバッグツールについて説明します-
- シミュレーター
- マイクロコントローラースターターキット
- エミュレータ
シミュレーター
MCU/システムのコードは、コード開発に使用されるホストコンピューターでシミュレートすることによりテストされます。 シミュレーターは、ソフトウェアで完全なマイクロコントローラーの動作をモデル化しようとします。
シミュレーターの機能
シミュレータは次の機能を実行します-
- プロセッサまたは処理デバイスファミリと、ターゲットシステムのさまざまなバージョンを定義します。
- 単一のステップごとに実行が進むにつれて、ラベルとシンボリック引数を使用してソースコードパーツの詳細情報を監視します。
- RAMのステータスと、各シングルステップ実行のターゲットシステムのシミュレートされたポートを提供します。
- システムの応答を監視し、スループットを決定します。
- プログラムカウンタとプロセッサレジスタの内容の出力のトレースを提供します。
- 現在のコマンドの詳細な意味を提供します。
- キーボードから入力されるか、メニューから選択されると、シミュレータコマンドの詳細情報を監視します。
- 条件(最大8または16または32条件)および無条件ブレークポイントをサポートします。
- 重要なテストおよびデバッグツールであるブレークポイントとトレースを提供します。
- 内部周辺機器と遅延の同期を容易にします。
マイクロコントローラスターターキット
マイクロコントローラスターターキットはで構成されています-
- ハードウェアボード(評価ボード)
- インシステムプログラマー
- コンパイラ、アセンブラ、リンカなどの一部のソフトウェアツール
- 場合によっては、IDEおよびコードサイズがコンパイラの評価版に制限されます。
シミュレーターに対するこれらのキットの大きな利点は、リアルタイムで動作するため、入出力機能の検証が簡単に行えることです。 ただし、スターターキットは完全に十分であり、シンプルなマイクロコントローラープロジェクトを開発するための最も安価なオプションです。
エミュレーター
エミュレーターはハードウェアキットまたはソフトウェアプログラムであるか、1つのコンピューターシステム(ゲスト)の機能を最初のコンピューターシステムとは異なる別のコンピューターシステム(ホスト)でエミュレートし、エミュレートされた動作が動作によく似ているようにすることができます実際のシステム(ゲスト)の。
エミュレーションとは、電子デバイス内のコンピュータープログラムが別のプログラムまたはデバイスをエミュレート(模倣)する能力のことです。 エミュレーションは、元のコンピューター環境の再作成に焦点を当てています。 エミュレータには、デジタルオブジェクトの信頼性との密接な関係を維持する機能があります。 エミュレーターは、ソフトウェアが元の環境で実行されるのと同様の方法で、ユーザーがプラットフォーム上のあらゆる種類のアプリケーションまたはオペレーティングシステムで作業するのに役立ちます。
組み込みシステムの周辺機器
組み込みシステムは、次のような周辺機器を介して外部と通信します&mins;
- RS-232、RS-422、RS-485などのシリアル通信インターフェース(SCI)
- I2C、SPI、SSC、ESSIなどの同期シリアル通信インターフェイス
- ユニバーサルシリアルバス(USB)
- マルチメディアカード(SDカード、コンパクトフラッシュなど)
- イーサネット、LonWorksなどのようなネットワーク
- CAN-Bus、LIN-Bus、PROFIBUSなどのフィールドバス
- PLL、キャプチャ/比較、時間処理ユニットなどのイメージ。
- ディスクリートIO、つまり汎用入出力(GPIO)
- アナログからデジタル/デジタルからアナログ(ADC/DAC)
- JTAG、ISP、ICSP、BDMポート、BITP、DP9ポートなどのデバッグ
マイクロコントローラーの選択基準
マイクロコントローラを選択する際、手元のタスクを満たし、費用対効果が高いことを確認してください。 8ビット、16ビット、または32ビットのマイクロコントローラーがタスクのコンピューティングニーズに最適に対応できるかどうかを確認する必要があります。 また、マイクロコントローラを選択する際には、次の点に留意する必要があります-
- 速度-マイクロコントローラーがサポートできる最高速度は?
- パッケージ-40ピンDIP(デュアルインラインパッケージ)またはQFP(クワッドフラットパッケージ)ですか? これは、最終製品のスペース、組み立て、およびプロトタイピングの観点から重要です。
- 消費電力-これは、バッテリー駆動製品の重要な基準です。
- *チップ上のRAMおよびROM *の量。
- *チップ上のI/Oピンとタイマー*の数。
- ユニットあたりのコスト-これは、マイクロコントローラーを使用する製品の最終コストの観点から重要です。
さらに、コンパイラー、デバッガー、アセンブラーなどのツールをマイクロコントローラーで使用できることを確認してください。 最も重要なことは、信頼できるソースからマイクロコントローラーを購入することです。