組み込みシステムプログラミングとその言語とは

問題を排除するために楽器を試してください





システムは、与えられた指示に従って機能するように一緒に組み立てられた複数のユニットの配置です。組み込みシステムは、ハードウェアとソフトウェアの両方の組み合わせであり、指定された期間内に特定のタスクを実行します(つまり、洗濯機のような特定のタスクを1つだけ実行する必要があります)。アプリケーションで組み込みシステムを使用する主な利点は、サイズとコストを最小限に抑え、タスクの信頼性と効率を向上させることができることです。この記事では、組み込みソフトウェア言語、組み込みシステムについて概説します プログラミング 、およびそれらの機能。

組み込みシステムのコンポーネント

組み込みシステムのコンポーネントは次のとおりです




  • 組み込みハードウェア: マイクロコントローラーは組み込みシステムの心臓部であり、通信の目的で複数の周辺機器が組み込みハードウェアに接続されています。
  • 組み込みRTO: 組み込みのリアルタイムオペレーティングシステムは、すべての複雑な(ar操作)を実行するために使用されます。
  • デバイスドライバ: これは、オペレーティングシステムと周辺機器の間のブリッジとして機能します。
  • 通信スタック: 外部デバイスとの通信に使用されます。
  • 組み込みアプリケーション: 組み込みデバイスの事前定義された機能を実行します。
組み込みシステムコンポーネント

組み込みシステムコンポーネント

組み込みソフトウェア

組み込みソフトウェアまたは組み込みシステムプログラミングは、一連の命令を提供することによってデバイスを制御するために使用されるコンピュータソフトウェアです。それはまたとして名付けられます ファームウェア、 さまざまな機能を備えたさまざまなデバイスは、設計上の制約(応答時間の制約、厳密な期限、処理されたデータなど)を維持し、最終データをに格納することにより、組み込みソフトウェアを使用してプログラムできます。 記憶 (ラム/ロム)。



ソフトウェアは、マシンインターフェイスによって制御または開始されます。組み込みソフトウェアは、自動車、電話、ロボットなどのすべての電子機器に組み込まれています。 セキュリティシステム 、8ビットで実行するのが簡単ななど マイクロコントローラー 最大数KBのメモリを使用します。複雑な操作の処理に役立ち、正確な計算フレームワークを決定します。

組み込みシステムプログラミング言語

組み込みソフトウェアは、一度に複数のタスクを実行するリアルタイムオペレーティングシステムであるオペレーティングシステムを使用します。組み込みプログラムは、 C / C ++ 、Phyton、およびJava Scripts言語であり、次のようなオペレーティングシステムで処理されます。 Linux OSVxWorks 、Fusion RTOS、Nucleus RTOS、micro C / OS、OSEなど。プログラミング言語の選択は、以下に示す特定の要因に基づいた組み込みソフトウェアの開発において重要な役割を果たします。

  • サイズ :組み込みプロセッサ(マイクロコントローラ)にはアプリケーションに基づいて特定の量のROM(読み取り専用メモリ)があるため、プログラムに必要なメモリの量は重要な役割を果たします。
  • 速度 :プログラムの実行速度は速くなければなりません
  • 移植性: 1つのプログラムを使用して、さまざまなプロセッサをコンパイルできます。
  • 実装が難しい
  • メンテナンスが難しい。

アセンブリ言語での組み込みシステムのプログラミング

における組み込みシステムのプログラミング アセンブリ言語 (入力)およびに変換する マシンレベルの言語 アセンブラを使用した(出力)は、次の例を使用して説明できます。ここでは、2つの個別のレジスタを使用して2つの数値の加算を実行し、結果を出力レジスタに格納します。


入力

ここ:MOV R0、#01H

MOV#1、#02H

MOV A、R0

A、R1を追加

MOV P0、A

ここで簡単に

出力

オペコードオペランドのアドレス

0000 78 01
0002 79 02
0004E8-
000529-
0006 F5 80
0008 80 00

アセンブリコードは、サイズと速度の点で効率的なコードを開発するために使用されます。アセンブリ言語でより大きなコードを開発することは困難になり、ソフトウェア開発コストが高くなる可能性があり、コードの移植性が失われます。したがって、この欠点を克服するために、次のような高水準言語を使用します。 埋め込みC

C、C ++、Java、EmbeddedCについて

Cプログラミング

C言語は、DennisRitchieによって開発された構造指向言語です。単純なコンパイラを使用してメモリアクセスを減らし、マシンの指示に従ってデータを効率的に配信します。組み込みシステムからスーパーコンピューターまで幅広く適用できます。

組み込みC

Embedded Cは、組み込みシステムの開発に使用されるC言語の拡張です。構文はC言語に似ています(main関数、関数宣言、データ型宣言、ループなど)。組み込みC言語と標準C言語の主な違いは、ハードウェアの入出力アドレス指定、固定小数点演算、およびアドレス空間の処理です。

以下の利点による組み込みシステムでのCの使用

  • プログラムは小さく、習得、理解、デバッグが簡単です。
  • すべてのCコンパイラは、すべての組み込みデバイスと互換性があります
  • これはプロセッサに依存しません(つまり、特定のマイクロプロセッサまたはマイクロコントローラに固有のものではありません)。
  • C言語は、アセンブリ言語と高級言語の機能の組み合わせを使用します
  • かなり効率的で、信頼性が高く、柔軟性が高く、異なるプラットフォーム間での移植性が高くなっています。
  • Cで開発されたプログラムは、理解、デバッグ、および保守が容易です。

他の高級言語と比較してCは比較的小さな構造指向言語であり、低レベルのビット単位をサポートするため、柔軟性が高くなります。 データ操作

C ++

C ++のようなオブジェクト指向言語は、組み込みデバイスのような研究制約環境で効率的なプログラムを開発するためのオプションではありません。仮想関数とC ++の例外処理は、システムのスペースと速度の点で効率的ではないいくつかの特定の機能です。

JAVA

組み込みシステムは、多くのリソースにアクセスするJAVA仮想マシン(JVM)を使用して、JAVA言語でプログラムできます。主にハイエンドアプリケーション(携帯電話など)での使用を検出し、アプリケーションを処理するためのシステム間での移植性を提供します。小型の組み込みデバイスには適していません。

組み込みCプログラミングアーキテクチャと例

組み込みCプログラミングアーキテクチャは、使用例で理解できます。 8051マイクロコントローラー 、その機能は、コントローラーのPORT1に接続されているLED電球を点滅させることであり、使用されるコンパイラーはKeilCコンパイラーです。以下はのコードです LED 点滅します。

#include //プリプロセッサのディレクティブ
Void delay(int)//遅延関数の宣言
Void main(void)//メイン関数
{{
P1 = 0x00 // port1がオフであるため、LEDがオフになり、reg51.hに保存されます。
while(1)//無限のループ
{{
P1 = OxFF //// port1がオンなので、LEDがオン
delay(1000)//遅延の割り当て
P1 = 0X00 // port1オフ
delay(1000)
}
}
Void delay(int d)//遅延関数の割り当て
{{
unsigned int i = 0 //ローカルに割り当てられた変数
for(d> 0 d-)
{{
for(i = 250 i> 0i–)
for(i = 248 i> 0i–)
}
}

利点

組み込みソフトウェアの利点は次のとおりです

  • データの読み込みが速くなります
  • コストが安い
  • より少ないリソースを使用します。

短所

組み込みソフトウェアの欠点は次のとおりです

  • アップグレードは複雑です
  • 問題が発生した場合は毎回リセットが必要です
  • 小さな値のスケーラビリティは困難です。

アプリケーション

組み込みソフトウェアのアプリケーションは次のとおりです

  • 銀行
  • 自動車
  • 家電
  • ミサイルなど

FAQの

1)。組み込みソフトウェアとは何ですか?

組み込みソフトウェアまたは組み込みシステムプログラミングは、命令を提供することによってデバイスを制御するために使用されるコンピュータソフトウェアです。

2)。組み込みシステムソフトウェアで使用されるプログラムは何ですか?

組み込みシステムソフトウェアプログラムは、CまたはC ++、Phyton、およびJavaスクリプトでプログラムされています。

3)。組み込みシステムと通常のシステムの違いは何ですか?

組み込みシステムは、特定の目的のために設計されたハードウェアとソフトウェアの組み合わせです。プロセスは順番に処理されます。通常のプロセッサはRTOのリアルタイムOSですが、並列実行が必要な場合は必要です。

4)。組み込みシステムの種類は何ですか?

組み込みシステムは2つのカテゴリに分類されます

  • パフォーマンスと機能要件に基づいて、それらはさらにリアルタイム、スタンドアロン、ネットワーク、モバイルに分類されます。
  • マイクロコントローラの性能に基づいて、それらはさらに小規模、中規模、および高度な規模に分類されます

5)。組み込みシステムの主な用途

組み込みシステムの主な用途は次のとおりです。

  • 洗濯機
  • デジタルカメラ
  • 音楽プレーヤーなど

組み込みシステムは、ハードウェアとソフトウェアの組み合わせです。どこ 組み込みソフトウェアプログラム CまたはC ++、Phyton、およびJavaスクリプトでプログラムされています。 Linux OS、マイクロC / OS、QNXなどで動作します。C言語は、組み込みソフトウェアコードを記述するための基本言語を形成します。したがって、これは組み込みソフトウェアとそのアーキテクチャの概要であり、プログラムを使用して説明されています。