組み込みシステム-ツールと周辺機器

コンパイラとアセンブラ

コンパイラ

コンパイラは、プログラミング言語(ソース言語)で記述されたソースコードを別のコンピュータ言語(通常はバイナリ形式)に変換するコンピュータプログラム(またはプログラムのセット)です。変換の最も一般的な理由は、実行可能プログラムを作成することです。「コンパイラ」という名前は、主に、ソースコードを高級プログラミング言語から低水準言語(アセンブリ言語や機械語など)に翻訳するプログラムに使用されます。

クロスコンパイラ

コンパイルされたプログラムが、コンパイラーがプログラムをコンパイルしたコンピューターとは異なるCPUまたはオペレーティングシステムを備えたコンピューターで実行できる場合、そのコンパイラーはクロスコンパイラーと呼ばれます。

逆コンパイラ

プログラムを低水準言語から高水準言語に翻訳できるプログラムは、逆コンパイラーと呼ばれます。

言語コンバーター

さまざまな高級言語で書かれたプログラムを翻訳するプログラムは、通常、言語トランスレータ、ソースからソースへのトランスレータ、または言語コンバータと呼ばれます。

コンパイラは次の操作を実行する可能性があります-

  • Preprocessing
  • Parsing
  • セマンティック分析(構文指向の翻訳)
  • コード生成
  • コードの最適化

アセンブラ

アセンブラは、基本的なコンピュータ命令(アセンブリ言語と呼ばれる)を受け取り、それらをコンピュータのプロセッサが基本的な操作を実行するために使用できるビットのパターンに変換するプログラムです。アセンブラは、アセンブリ命令ニーモニックをオペコードに変換し、シンボリック名をメモリ位置に解決することによってオブジェクトコードを作成します。アセンブリ言語は、ニーモニックを使用して、各低レベルのマシン操作(オペコード)を表します。

組み込みシステムのデバッグツール

デバッグは、コンピュータプログラムまたは電子ハードウェアのバグの数を見つけて減らし、期待どおりに機能するようにするための系統的なプロセスです。サブシステムが緊密に結合されている場合、あるサブシステムに小さな変更を加えると別のサブシステムにバグが発生する可能性があるため、デバッグは困難です。組み込みシステムで使用されるデバッグツールは、開発時間とデバッグ機能の点で大きく異なります。ここでは、次のデバッグツールについて説明します-

  • Simulators
  • マイクロコントローラースターターキット
  • Emulator

シミュレーター

コードは、コード開発に使用されるホストコンピューターでシミュレートすることにより、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(s)、キャプチャ/比較、時間処理ユニットなどのイマー。
  • ディスクリートIO、別名汎用入力/出力(GPIO)
  • アナログ-デジタル/デジタル-アナログ(ADC / DAC)
  • JTAG、ISP、ICSP、BDMポート、BITP、DP9ポートなどのデバッグ

マイクロコントローラを選択するための基準

マイクロコントローラを選択するときは、それが目前のタスクを満たし、費用効果が高いことを確認してください。8ビット、16ビット、または32ビットのマイクロコントローラーがタスクのコンピューティングニーズを最適に処理できるかどうかを確認する必要があります。また、マイクロコントローラを選択する際には、以下の点に注意してください。

  • Speed −マイクロコントローラがサポートできる最高速度はどれくらいですか?

  • Packaging− 40ピンDIP(デュアルインラインパッケージ)またはQFP(クアッドフラットパッケージ)ですか?これは、スペース、組み立て、および最終製品のプロトタイピングの観点から重要です。

  • Power Consumption −これはバッテリー駆動製品の重要な基準です。

  • Amount of RAM and ROM チップ上。

  • Count of I/O pins and Timers チップ上。

  • Cost per Unit −これは、マイクロコントローラが使用される製品の最終コストの観点から重要です。

さらに、コンパイラー、デバッガー、アセンブラーなどのツールがマイクロコントローラーで使用できることを確認してください。すべての中で最も重要なのは、信頼できるソースからマイクロコントローラーを購入する必要があるということです。