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

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

소스 노드 : 1995594

임베디드 시스템 프로그래밍이란 무엇입니까?

임베디드 프로그래밍이라고도 하는 임베디드 시스템 프로그래밍은 데스크톱 컴퓨터 및 모바일 장치와 달리 기존 운영 체제를 사용하지 않는 소비자 대면 장치의 개발을 용이하게 합니다.

마이크로프로세서 및 마이크로 컨트롤러 이러한 임베디드 장치에 내장되어 단일 기능 또는 관련 기능 세트의 성능을 지원합니다. 임베디드 시스템의 일반적인 예로는 전자레인지, 스마트 냉장고, 산업용 로봇, 비디오 콘솔 및 위성이 있습니다.

많은 임베디드 시스템 사용자 인터페이스(UI) 자동차의 타이어 공기압 모니터링 시스템 또는 잠김 방지 브레이크 시스템을 제어하는 ​​컴퓨터와 같은 장치 내부에서 특정 작업을 수행하도록 프로그래밍된 경우. 휴먼 인터페이스가 없기 때문에 이러한 임베디드 시스템은 센서 특정 기능을 모니터링하고 센서에서 받은 데이터에 대한 응답으로 자동화된 작업을 시작할 수 있습니다. 그러나 모바일 장치에서 볼 수 있는 것과 같은 다른 임베디드 시스템에는 터치스크린, LED 및 버튼 기술을 사용하는 복잡한 그래픽 UI가 있습니다.

A chart showing the structure of embedded systems
임베디드 시스템 구조

임베디드 시스템을 위한 최고의 운영 체제

대부분의 임베디드 애플리케이션은 실시간으로 작동하므로 예측 가능한 방식으로 외부 이벤트에 응답합니다. 따라서 임베디드 시스템은 애플리케이션이 데이터를 빠르게 처리할 수 있도록 실시간 운영 체제(RTOS)를 자주 사용합니다. 많은 임베디드 시스템은 또한 시스템이 정해진 기간 내에 데이터를 처리하도록 요구합니다. RTOS는 처리 지연을 XNUMX분의 XNUMX초로 측정합니다. 가장 작은 지연으로 인해 시스템 오류가 발생할 수 있기 때문입니다.

실시간 시스템용으로 널리 사용되는 두 가지 OS 개념은 다음과 같습니다. 이벤트 주도 시간 공유. 새 작업이 이전 작업보다 우선 순위가 높으면 이벤트 기반 운영 체제(OS) 새 작업으로 전환됩니다. 이벤트 기반 시스템에서 OS는 중요도에 따라 기능을 제어합니다. 시분할 OS는 클록 인터럽트를 사용하여 기능을 자주 변경합니다. 작업에 부여된 우선 순위 수준이 없으며 각 작업이 완료되었는지 확인하기 위해 임베디드 소프트웨어는 종종 작업 사이를 전환합니다.

많은 임베디드 운영 체제가 다양한 장치에 적합하지만 임베디드 시스템용 OS 선택은 프로그래머의 하드웨어 레이아웃 및 개인 선호도에 따라 상당히 영향을 받을 수 있습니다. 임베디드 운영 체제를 분류하는 두 가지 일반적인 방법은 마이크로 프로세서 또는 마이크로 컨트롤러에서 실행되는지 여부와 소프트웨어 엔지니어가 특히 특정 산업 또는 장치에 사용하는지 여부입니다.

임베디드와 같은 프로그래밍 언어 C, 파이썬 및 자바 스크립트 임베디드 소프트웨어 개발에 사용할 수 있는 많은 언어 중 하나입니다. 일반적으로 컴퓨터 프로그램은 컴파일러 변환하는 데 사용됩니다. 소스 코드 프로그래밍 언어로 이진 형식과 같은 다른 컴퓨터 언어로 작성됩니다. 컴파일러는 또한 코드를 실행 가능하게 만듭니다.

다음 임베디드 운영 체제는 특정 산업, 전자 장치 및 임베디드 소프트웨어 프로그래밍에서 가장 자주 사용됩니다.

  • 자동차. Embedded Linux, QNX, 무결성 및 안드로이드 OS.
  • 가전. 내장형 Linux 및 Android 및 웹OS. 텔레비전과 셋톱 케이블 박스는 가전 제품의 몇 가지 예입니다.
  • 산업. 데스크톱 Windows, Linux, 임베디드 Linux 및 기계 제어용 베어 메탈.
  • 농업 및 건설. 전자 제어 장치용 RTOS 및 운영자 터미널용 임베디드 Linux.
  • 의료 기기. 임베디드 Linux, QNX, VxWorks, 베어 메탈 및 FreeRTOS.
  • 비행. VxWorks, 임베디드 리눅스.

[포함 된 콘텐츠]

임베디드 하드웨어란?

임베디드 시스템은 컴퓨터 하드웨어와 소프트웨어 계층이 모두 합쳐진 것입니다. 중앙 처리 장치(CPU)는 기본 시스템 컨트롤러 역할을 하며 하드웨어 계층의 기반입니다.

다음 하드웨어 구성 요소 임베디드 시스템의 CPU에서 일반적으로 발견됩니다.

  • M마이크로프로세서. 여기에는 CPU만 포함되어 있으며 하나의 간단한 작업을 수행할 수 있는 최소한의 전력만 있습니다.
  • M아이크로컨트롤러. 이 멀티태스킹 칩은 CPU, I / O 여러 작업을 수행하기 위한 포트 및 RAM/ROM 메모리.
  • 메모리. 여기에는 다음이 포함됩니다. 데이터 저장 장치.
  • I / O. 입력 및 출력 작업을 수행하는 장치입니다.
  • 버스를. 컴퓨터 버스는 하드웨어 구성 요소 간에 데이터를 전송하는 데 사용됩니다.
  • 센서. 이들은 물리적 데이터를 아날로그 전기 신호로 변환하는 데 사용됩니다.
  • 아날로그-디지털 변환기 (ADC). 이것은 소리나 빛과 같은 아날로그 전기 신호를 프로세서가 읽을 수 있는 디지털 신호로 변환합니다.
  • 디지털-아날로그 컨버터 (DAC). 이들은 프로세서의 디지털 신호를 전기 신호로 변환할 수 있습니다.
  • 액추에이터. 액추에이터 프로세서의 신호를 기반으로 메커니즘의 기능을 활성화합니다. 예를 들어, 모터를 움직이게 합니다.
  • Peripherals. 여기에는 카메라, 프린터, 스캐너 및 키보드와 같은 주변 장치가 포함됩니다.

임베디드 하드웨어 요소는 시스템 온 칩(SoC를). SoM(System-on-Module)과 같이 더 복잡한 보드도 사용할 수 있는데, 이는 많은 칩을 통합한 것입니다.

A chart showing how an analog-to-digital converter (ADC) works
내장형 시스템에는 소리나 빛과 같은 아날로그 전기 신호를 프로세서가 읽을 수 있는 디지털 신호로 변환하는 아날로그-디지털 변환기가 포함되는 경우가 많습니다.

임베디드 소프트웨어란?

장치의 복잡성과 용도에 따라 소프트웨어 계층에는 다양한 구성 요소가 포함될 수 있습니다.

다음 네 가지 구성 요소는 일반적으로 전체 임베디드 소프트웨어 제품군을 구성합니다.

  • 펌웨어. 이것은 특정 하드웨어용으로 작성된 내장 프로그램입니다.
  • 운영 체제. 규칙을 설정하고 시스템 리소스를 제어하는 ​​데 사용되는 소프트웨어입니다. 여기에는 애플리케이션 프로그래밍 인터페이스를 제공하는 장치 드라이버가 포함됩니다(API) 상위 소프트웨어 구성 요소에 대해 하드웨어 부품과 통신하게 만듭니다. 운영 체제는 범용 또는 실시간일 수 있습니다.
  • 미들웨어. 이것은 상위 및 하위 소프트웨어 레벨 간의 통신을 가능하게 하는 매개체입니다. 미들웨어 특정 운영 체제를 위해 생성되며 OS와 응용 소프트웨어 사이에 있습니다.
  • 어플리케이션 소프트웨어. 이것은 시스템의 기능을 직접 수행하고 최종 사용자와 상호 작용하는 소프트웨어입니다.

기본 임베디드 솔루션에는 운영 체제와 같은 일부 소프트웨어 요소가 없을 수 있지만 이러한 모든 구성 요소는 크고 복잡한 임베디드 시스템에 포함됩니다.

[포함 된 콘텐츠]

사물 인터넷(IoT) 장치는 임베디드 시스템 없이는 작동할 수 없습니다. 작동, 부품 및 올바른 임베디드 시스템을 선택하는 방법 IoT 기기용.

타임 스탬프 :

더보기 IoT 의제

ACK(승인)

소스 노드 : 2045892
타임 스탬프 : 3년 2023월 XNUMX일

방화벽

소스 노드 : 2064727
타임 스탬프 : 19년 2023월 XNUMX일