임베디드 시스템 프로그래밍 및 그 언어는 무엇입니까

문제를 제거하기 위해 도구를 사용해보십시오





시스템은 주어진 지침에 따라 작동하도록 함께 조립 된 여러 장치의 배열입니다. 임베디드 시스템은 하드웨어와 소프트웨어의 조합으로, 지정된 기간 내에 특정 작업을 수행합니다 (즉, 세탁기와 같은 특정 작업 만 수행해야 함). 애플리케이션에서 임베디드 시스템을 사용할 때의 주요 이점은 크기와 비용을 최소화하고 작업의 신뢰성과 효율성을 향상시킬 수 있다는 것입니다. 이 문서는 임베디드 소프트웨어 언어, 임베디드 시스템에 대한 개요입니다. 프로그램 작성 및 그 기능.

임베디드 시스템의 구성 요소

다음은 임베디드 시스템의 구성 요소입니다.




  • 임베디드 하드웨어 : 마이크로 컨트롤러는 임베디드 시스템의 핵심으로, 통신 목적으로 여러 주변 장치가 임베디드 하드웨어에 인터페이스됩니다.
  • 임베디드 RTO : 임베디드 실시간 운영 체제는 모든 복잡한 (ar 작업)을 수행하는 데 사용됩니다.
  • 장치 드라이버: 운영 체제와 주변 장치 사이의 다리 역할을합니다.
  • 통신 스택 : 외부 장치와의 통신에 사용됩니다.
  • 임베디드 애플리케이션 : 임베디드 장치의 사전 정의 된 기능을 수행합니다.
임베디드 시스템 구성 요소

임베디드 시스템 구성 요소

임베디드 소프트웨어

임베디드 소프트웨어 또는 임베디드 시스템 프로그래밍은 일련의 명령을 제공하여 장치를 제어하는 ​​데 사용되는 컴퓨터 소프트웨어입니다. 또한 다음과 같이 명명됩니다. 펌웨어, 다양한 기능을 가진 다양한 장치는 설계 제약 (예 : 응답 시간 제약, 엄격한 기한 및 처리 된 데이터)을 유지하고 최종 데이터를 저장함으로써 임베디드 소프트웨어를 사용하여 프로그래밍 할 수 있습니다. 기억 (램 / 롬).



소프트웨어는 기계 인터페이스에 의해 제어되거나 시작됩니다. 임베디드 소프트웨어는 자동차, 전화, 로봇, 보안 시스템 등 8 비트에서 실행하기 쉬운 마이크로 컨트롤러 최대 몇 KB의 메모리를 사용합니다. 복잡한 작업 처리를 돕고 정확한 계산 프레임 워크를 결정합니다.

임베디드 시스템 프로그래밍 언어

임베디드 소프트웨어는 한 번에 여러 작업을 수행하는 실시간 운영 체제 인 운영 체제를 사용합니다. 임베디드 프로그램은 in을 사용하여 프로그래밍됩니다. C / C ++ , Phyton 및 Java Scripts 언어이며 다음과 같은 운영 체제에서 처리됩니다. Linux OS , VxWorks , Fusion RTOS, Nucleus RTOS, micro C / OS, OSE 등. 프로그래밍 언어 선택은 아래와 같이 특정 요소를 기반으로하는 임베디드 소프트웨어 개발에 중요한 역할을합니다.

  • 크기 : 임베디드 프로세서 (마이크로 컨트롤러)는 응용 프로그램에 따라 특정 양의 ROM (읽기 전용 메모리)을 가지고 있기 때문에 프로그램에 필요한 메모리 양이 중요한 역할을합니다.
  • 속도 : 프로그램 실행 속도가 빨라야합니다.
  • 휴대 성 : 하나의 프로그램을 사용하여 다른 프로세서를 컴파일 할 수 있습니다.
  • 구현이 어렵다
  • 유지 관리가 어렵습니다.

어셈블리 언어로 임베디드 시스템 프로그래밍

임베디드 시스템 프로그래밍 어셈블리어 (입력) 및 변환 기계 수준 언어 (출력) 어셈블러를 사용하는 것은 다음 예제를 사용하여 설명 할 수 있습니다. 여기서 두 개의 sperate 레지스터를 사용하여 두 숫자를 더하고 결과를 출력 레지스터에 저장합니다.


입력

여기 : MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

A, R1 추가

MOV P0, A

여기 간단

산출

주소 Opcode 피연산자

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

어셈블리 코드는 크기와 속도 측면에서 효율적인 코드를 개발하는 데 사용됩니다. 어셈블리 언어로 더 큰 코드를 개발하는 것이 어려워 져서 소프트웨어 개발 비용이 증가하고 코드 이식성이 부재합니다. 따라서 이러한 단점을 극복하기 위해 다음과 같은 고급 언어를 사용합니다. 임베디드 C .

C, C ++, Java 및 Embedded C 정보

C 프로그래밍

C 언어는 Dennis Ritchie가 개발 한 구조 지향 언어입니다. 간단한 컴파일러를 사용하여 메모리 액세스를 줄이고 기계 명령에 따라 데이터를 효율적으로 전달합니다. 임베디드 시스템에서 슈퍼 컴퓨터에 이르기까지 광범위하게 적용 할 수 있습니다.

임베디드 C

Embedded C는 임베디드 시스템 개발에 사용되는 C 언어의 확장입니다. 구문은 C 언어와 유사합니다 (주 함수, 함수 선언, 데이터 유형 선언, 루프 등). 임베디드 C와 표준 C 언어의 주요 차이점은 하드웨어의 입출력 주소 지정, 고정 소수점 연산 및 처리 주소 공간입니다.

다음과 같은 장점으로 인해 임베디드 시스템에서 C 사용

  • 프로그램을 배우고 이해하고 디버깅하는 것은 작고 쉽습니다.
  • 모든 C 컴파일러는 모든 임베디드 장치와 호환됩니다.
  • 프로세서와 무관합니다 (즉, 특정 마이크로 프로세서 나 마이크로 컨트롤러에 국한되지 않음).
  • C 언어는 어셈블리 언어와 고급 언어의 기능 조합을 사용합니다.
  • 서로 다른 플랫폼간에 상당히 효율적이고, 더 안정적이며, 더 유연하고, 더 이식 가능합니다.
  • C로 개발 된 프로그램은 이해, 디버그 및 유지 관리가 더 쉽습니다.

다른 고급 언어에 비해 C는 구조 지향 언어가 비교적 작고 낮은 수준의 비트 단위를 지원하기 때문에 더 많은 유연성을 제공합니다. 데이터 조작 .

C ++

C ++와 같은 객체 지향 언어는 임베디드 장치와 같은 연구 제약 환경에서 효율적인 프로그램을 개발하는 데 선택 사항이 아닙니다. C ++의 가상 기능 및 예외 처리는 시스템의 공간 및 속도 측면에서 효율적이지 않은 일부 특정 기능입니다.

자바

임베디드 시스템은 많은 리소스에 액세스하는 JAVA 가상 머신 (JVM)을 사용하여 JAVA 언어로 프로그래밍 할 수 있습니다. 주로 고급 애플리케이션 (예 : 휴대폰)에서 사용을 찾고 애플리케이션을 처리하기 위해 시스템간에 이식성을 제공합니다. 더 작은 임베디드 장치에는 권장되지 않습니다.

임베디드 C 프로그래밍 아키텍처 및 예제

임베디드 C 프로그래밍 아키텍처는 다음을 사용하는 예를 통해 이해할 수 있습니다. 8051 마이크로 컨트롤러 , 컨트롤러의 PORT1에 연결된 LED 전구를 깜박이는 기능이 있으며 사용되는 컴파일러는 Keil C Compiler입니다. 다음은 LED 힐끔 보다.

#include // 전 처리기 지시문
Void Delay (int) // 지연 함수 선언
Void main (void) // 주요 기능
{
P1 = 0x00 // port1이 꺼져 있으므로 LED가 꺼지고 reg51.h에 저장됩니다.
while (1) // 무한 루프
{
P1 = OxFF //// port1이 켜져 있으므로 LED가 켜짐
delay (1000) // 지연 할당
P1 = 0X00 // 포트 1 꺼짐
지연 (1000)
}
}
Void Delay (int d) // 지연 기능 할당
{
unsigned int i = 0 // 로컬로 할당 된 변수
(d> 0 d-)에 대해
{
(i = 250 i> 0i–)
(i = 248 i> 0i–)
}
}

장점

다음은 임베디드 소프트웨어의 장점입니다.

  • 더 빠른 데이터로드
  • 비용이 저렴합니다.
  • 적은 자원을 활용합니다.

단점

다음은 임베디드 소프트웨어의 단점입니다.

  • 업그레이드는 복잡합니다.
  • 문제가 발생하면 재설정이 필요할 때마다
  • 작은 값에 대한 확장 성은 어렵습니다.

응용

다음은 임베디드 소프트웨어의 응용 프로그램입니다.

  • 은행업
  • 자동차
  • 가전 ​​제품
  • 미사일 등

FAQ

1). 임베디드 소프트웨어 란 무엇입니까?

임베디드 소프트웨어 또는 임베디드 시스템 프로그래밍은 명령을 제공하여 장치를 제어하는 ​​데 사용되는 컴퓨터 소프트웨어입니다.

2). 임베디드 시스템 소프트웨어에서 사용되는 프로그램은 무엇입니까?

임베디드 시스템 소프트웨어 프로그램은 C 또는 C ++, Phyton 및 Java 스크립트로 프로그래밍됩니다.

삼). 임베디드 시스템과 일반 시스템의 차이점은 무엇입니까?

임베디드 시스템은 특정 목적을 위해 설계된 하드웨어와 소프트웨어의 조합입니다. 프로세스는 순차적으로 처리됩니다. 일반 프로세서는 RTO의 실시간 OS 인 반면 병렬 실행이 필요한 경우 필요합니다.

4). 임베디드 시스템에는 어떤 유형이 있습니까?

임베디드 시스템은 두 가지 범주로 분류됩니다.

  • 성능 및 기능 요구 사항에 따라 실시간, 독립형, 네트워크 연결, 모바일로 더 분류됩니다.
  • 마이크로 컨트롤러의 성능에 따라 소규모, 중형 및 정교한 규모로 더 분류됩니다.

5). 임베디드 시스템의 주요 응용

임베디드 시스템의 주요 애플리케이션은 다음과 같습니다.

  • 세탁기
  • 디지털 카메라
  • 음악 플레이어 등

임베디드 시스템은 하드웨어와 소프트웨어의 조합입니다. 어디 임베디드 소프트웨어 프로그램 C 또는 C ++, Phyton 및 Java 스크립트로 프로그래밍됩니다. Linux OS, 마이크로 C / OS, QNX 등에서 실행됩니다. C 언어는 임베디드 소프트웨어 코드 작성을위한 기본 언어를 형성합니다. 따라서 이것은 프로그램을 사용하여 설명 된 임베디드 소프트웨어 및 해당 아키텍처의 개요입니다.